@1inch/fusion-sdk 0.1.13 → 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 +14 -13
- package/{api → dist/api}/orders/types.js.map +1 -1
- 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 -60
- 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}/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,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AuctionDetails = void 0;
|
|
7
|
+
const ethers_1 = require("ethers");
|
|
8
|
+
const assert_1 = __importDefault(require("assert"));
|
|
9
|
+
const validations_1 = require("../../validations");
|
|
10
|
+
const utils_1 = require("../../utils");
|
|
11
|
+
const bytes_iter_1 = require("../../utils/bytes/bytes-iter");
|
|
12
|
+
const constants_1 = require("../../constants");
|
|
13
|
+
class AuctionDetails {
|
|
14
|
+
constructor(auction) {
|
|
15
|
+
this.startTime = BigInt(auction.startTime);
|
|
16
|
+
this.initialRateBump = BigInt(auction.initialRateBump);
|
|
17
|
+
this.duration = auction.duration;
|
|
18
|
+
this.points = auction.points;
|
|
19
|
+
this.gasCost = auction.gasCost || {
|
|
20
|
+
gasBumpEstimate: 0n,
|
|
21
|
+
gasPriceEstimate: 0n
|
|
22
|
+
};
|
|
23
|
+
(0, assert_1.default)(this.gasCost.gasBumpEstimate <= constants_1.UINT_24_MAX);
|
|
24
|
+
(0, assert_1.default)(this.gasCost.gasPriceEstimate <= constants_1.UINT_32_MAX);
|
|
25
|
+
(0, assert_1.default)(this.startTime <= constants_1.UINT_32_MAX);
|
|
26
|
+
(0, assert_1.default)(this.duration <= constants_1.UINT_24_MAX);
|
|
27
|
+
(0, assert_1.default)(this.initialRateBump <= constants_1.UINT_24_MAX);
|
|
28
|
+
}
|
|
29
|
+
static decode(data) {
|
|
30
|
+
(0, assert_1.default)((0, validations_1.isHexBytes)(data), 'Invalid auction details data');
|
|
31
|
+
const iter = new bytes_iter_1.BytesIter(data);
|
|
32
|
+
const gasBumpEstimate = iter.nextUint24();
|
|
33
|
+
const gasPriceEstimate = iter.nextUint32();
|
|
34
|
+
const start = iter.nextUint32();
|
|
35
|
+
const duration = iter.nextUint24();
|
|
36
|
+
const rateBump = Number(iter.nextUint24());
|
|
37
|
+
const points = [];
|
|
38
|
+
while (!iter.isEmpty()) {
|
|
39
|
+
points.push({
|
|
40
|
+
coefficient: Number(iter.nextUint24()),
|
|
41
|
+
delay: Number(iter.nextUint16())
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return new AuctionDetails({
|
|
45
|
+
startTime: start,
|
|
46
|
+
duration: duration,
|
|
47
|
+
initialRateBump: rateBump,
|
|
48
|
+
points,
|
|
49
|
+
gasCost: {
|
|
50
|
+
gasBumpEstimate,
|
|
51
|
+
gasPriceEstimate
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
encode() {
|
|
56
|
+
let details = ethers_1.ethers.solidityPacked(['uint24', 'uint32', 'uint32', 'uint24', 'uint24'], [
|
|
57
|
+
this.gasCost.gasBumpEstimate,
|
|
58
|
+
this.gasCost.gasPriceEstimate,
|
|
59
|
+
this.startTime,
|
|
60
|
+
this.duration,
|
|
61
|
+
this.initialRateBump
|
|
62
|
+
]);
|
|
63
|
+
for (let i = 0; i < this.points.length; i++) {
|
|
64
|
+
details += (0, utils_1.trim0x)(ethers_1.ethers.solidityPacked(['uint24', 'uint16'], [this.points[i].coefficient, this.points[i].delay]));
|
|
65
|
+
}
|
|
66
|
+
return details;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.AuctionDetails = AuctionDetails;
|
|
70
|
+
//# sourceMappingURL=auction-details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auction-details.js","sourceRoot":"","sources":["../../../src/fusion-order/auction-details/auction-details.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const auction_details_1 = require("./auction-details");
|
|
4
|
+
describe('Auction details', () => {
|
|
5
|
+
it('Should encode/decode details', () => {
|
|
6
|
+
const details = new auction_details_1.AuctionDetails({
|
|
7
|
+
duration: 180n,
|
|
8
|
+
startTime: 1673548149n,
|
|
9
|
+
initialRateBump: 50000,
|
|
10
|
+
points: [
|
|
11
|
+
{
|
|
12
|
+
delay: 10,
|
|
13
|
+
coefficient: 40000
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
delay: 10,
|
|
17
|
+
coefficient: 40000
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
});
|
|
21
|
+
expect(auction_details_1.AuctionDetails.decode(details.encode())).toStrictEqual(details);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=auction-details.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auction-details.spec.js","sourceRoot":"","sources":["../../../src/fusion-order/auction-details/auction-details.spec.ts"],"names":[],"mappings":";;AAAA,uDAAgD;AAEhD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,OAAO,GAAG,IAAI,gCAAc,CAAC;YAC/B,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,WAAW;YACtB,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE;gBACJ;oBACI,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,KAAK;iBACrB;gBAED;oBACI,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,KAAK;iBACrB;aACJ;SACJ,CAAC,CAAA;QAEF,MAAM,CAAC,gCAAc,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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("./auction-details"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fusion-order/auction-details/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/fusion-order/auction-details/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Address, Extension, ExtensionBuilder } from '@1inch/limit-order-sdk';
|
|
2
|
+
import { AuctionDetails } from './auction-details';
|
|
3
|
+
import { SettlementPostInteractionData } from './settlement-post-interaction-data';
|
|
4
|
+
export declare class FusionExtension extends ExtensionBuilder {
|
|
5
|
+
readonly address: Address;
|
|
6
|
+
readonly details: AuctionDetails;
|
|
7
|
+
readonly postInteractionData: SettlementPostInteractionData;
|
|
8
|
+
constructor(address: Address, details: AuctionDetails, postInteractionData: SettlementPostInteractionData);
|
|
9
|
+
build(): Extension;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FusionExtension = void 0;
|
|
4
|
+
const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
|
|
5
|
+
class FusionExtension extends limit_order_sdk_1.ExtensionBuilder {
|
|
6
|
+
constructor(address, details, postInteractionData) {
|
|
7
|
+
super();
|
|
8
|
+
this.address = address;
|
|
9
|
+
this.details = details;
|
|
10
|
+
this.postInteractionData = postInteractionData;
|
|
11
|
+
}
|
|
12
|
+
build() {
|
|
13
|
+
const detailsBytes = this.details.encode();
|
|
14
|
+
this.withMakingAmountData(this.address, detailsBytes)
|
|
15
|
+
.withTakingAmountData(this.address, detailsBytes)
|
|
16
|
+
.withPostInteraction(new limit_order_sdk_1.Interaction(this.address, this.postInteractionData.encode()));
|
|
17
|
+
return super.build();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.FusionExtension = FusionExtension;
|
|
21
|
+
//# sourceMappingURL=fusion-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fusion-extension.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-extension.ts"],"names":[],"mappings":";;;AAAA,4DAK+B;AAI/B,MAAa,eAAgB,SAAQ,kCAAgB;IACjD,YACoB,OAAgB,EAChB,OAAuB,EACvB,mBAAkD;QAElE,KAAK,EAAE,CAAA;QAJS,YAAO,GAAP,OAAO,CAAS;QAChB,YAAO,GAAP,OAAO,CAAgB;QACvB,wBAAmB,GAAnB,mBAAmB,CAA+B;IAGtE,CAAC;IAEM,KAAK;QACR,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;QAE1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;aAChD,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;aAChD,mBAAmB,CAChB,IAAI,6BAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CACnE,CAAA;QAEL,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;CACJ;AApBD,0CAoBC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Address, EIP712TypedData, Extension, LimitOrderV4Struct, OrderInfoData } from '@1inch/limit-order-sdk';
|
|
2
|
+
import { FusionExtension } from './fusion-extension';
|
|
3
|
+
import { AuctionDetails } from './auction-details';
|
|
4
|
+
import { AuctionWhitelistItem, IntegratorFee } from './settlement-post-interaction-data';
|
|
5
|
+
import { AuctionCalculator } from '../auction-calculator';
|
|
6
|
+
export declare class FusionOrder {
|
|
7
|
+
private static defaultExtra;
|
|
8
|
+
readonly fusionExtension: FusionExtension;
|
|
9
|
+
private inner;
|
|
10
|
+
private constructor();
|
|
11
|
+
get extension(): Extension;
|
|
12
|
+
static new(settlementExtension: Address, orderInfo: OrderInfoData, details: {
|
|
13
|
+
auction: AuctionDetails;
|
|
14
|
+
fees?: {
|
|
15
|
+
integratorFee?: IntegratorFee;
|
|
16
|
+
bankFee?: bigint;
|
|
17
|
+
};
|
|
18
|
+
whitelist: AuctionWhitelistItem[];
|
|
19
|
+
}, extra?: {
|
|
20
|
+
unwrapWETH?: boolean;
|
|
21
|
+
nonce?: bigint;
|
|
22
|
+
permit?: string;
|
|
23
|
+
allowPartialFills?: boolean;
|
|
24
|
+
allowMultipleFills?: boolean;
|
|
25
|
+
orderExpirationDelay?: bigint;
|
|
26
|
+
enablePermit2?: boolean;
|
|
27
|
+
}): FusionOrder;
|
|
28
|
+
static fromDataAndExtension(order: LimitOrderV4Struct, extension: Extension): FusionOrder;
|
|
29
|
+
build(): LimitOrderV4Struct;
|
|
30
|
+
getOrderHash(domain?: import("@1inch/limit-order-sdk").EIP712DomainType): string;
|
|
31
|
+
getTypedData(domain?: import("@1inch/limit-order-sdk").EIP712DomainType): EIP712TypedData;
|
|
32
|
+
getCalculator(): AuctionCalculator;
|
|
33
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FusionOrder = void 0;
|
|
7
|
+
const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
|
|
8
|
+
const assert_1 = __importDefault(require("assert"));
|
|
9
|
+
const fusion_extension_1 = require("./fusion-extension");
|
|
10
|
+
const auction_details_1 = require("./auction-details");
|
|
11
|
+
const settlement_post_interaction_data_1 = require("./settlement-post-interaction-data");
|
|
12
|
+
const auction_calculator_1 = require("../auction-calculator");
|
|
13
|
+
const utils_1 = require("../utils");
|
|
14
|
+
const constants_1 = require("../constants");
|
|
15
|
+
class FusionOrder {
|
|
16
|
+
constructor(extensionContract, orderInfo, auctionDetails, postInteractionData, extra = FusionOrder.defaultExtra) {
|
|
17
|
+
const { allowPartialFills, allowMultipleFills, unwrapWETH, enablePermit2, orderExpirationDelay, nonce, permit } = {
|
|
18
|
+
...FusionOrder.defaultExtra,
|
|
19
|
+
...extra
|
|
20
|
+
};
|
|
21
|
+
const deadline = auctionDetails.startTime +
|
|
22
|
+
auctionDetails.duration +
|
|
23
|
+
orderExpirationDelay;
|
|
24
|
+
const makerTraits = limit_order_sdk_1.MakerTraits.default()
|
|
25
|
+
.withExpiration(deadline)
|
|
26
|
+
.setPartialFills(allowPartialFills)
|
|
27
|
+
.setMultipleFills(allowMultipleFills);
|
|
28
|
+
if (makerTraits.isBitInvalidatorMode()) {
|
|
29
|
+
(0, assert_1.default)(nonce !== undefined, 'Nonce required, when partial fill or multiple fill disallowed');
|
|
30
|
+
}
|
|
31
|
+
if (unwrapWETH) {
|
|
32
|
+
makerTraits.enableNativeUnwrap();
|
|
33
|
+
}
|
|
34
|
+
if (enablePermit2) {
|
|
35
|
+
makerTraits.enablePermit2();
|
|
36
|
+
}
|
|
37
|
+
if (nonce !== undefined) {
|
|
38
|
+
makerTraits.withNonce(nonce);
|
|
39
|
+
}
|
|
40
|
+
const extension = new fusion_extension_1.FusionExtension(extensionContract, auctionDetails, postInteractionData);
|
|
41
|
+
if (permit) {
|
|
42
|
+
extension.withMakerPermit(orderInfo.makerAsset, permit);
|
|
43
|
+
}
|
|
44
|
+
const builtExtension = extension.build();
|
|
45
|
+
this.inner = new limit_order_sdk_1.LimitOrder({
|
|
46
|
+
...orderInfo,
|
|
47
|
+
salt: limit_order_sdk_1.LimitOrder.buildSalt(builtExtension, orderInfo.salt)
|
|
48
|
+
}, makerTraits, builtExtension);
|
|
49
|
+
this.fusionExtension = extension;
|
|
50
|
+
}
|
|
51
|
+
get extension() {
|
|
52
|
+
return this.inner.extension;
|
|
53
|
+
}
|
|
54
|
+
static new(settlementExtension, orderInfo, details, extra = FusionOrder.defaultExtra) {
|
|
55
|
+
return new FusionOrder(settlementExtension, orderInfo, details.auction, settlement_post_interaction_data_1.SettlementPostInteractionData.new({
|
|
56
|
+
bankFee: details.fees?.bankFee || 0n,
|
|
57
|
+
integratorFee: details.fees?.integratorFee,
|
|
58
|
+
whitelist: details.whitelist,
|
|
59
|
+
auctionStartTime: details.auction.startTime
|
|
60
|
+
}), extra);
|
|
61
|
+
}
|
|
62
|
+
static fromDataAndExtension(order, extension) {
|
|
63
|
+
const settlementContract = limit_order_sdk_1.Address.fromFirstBytes(extension.makingAmountData);
|
|
64
|
+
(0, assert_1.default)(limit_order_sdk_1.Address.fromFirstBytes(extension.takingAmountData).equal(settlementContract) &&
|
|
65
|
+
limit_order_sdk_1.Address.fromFirstBytes(extension.postInteraction).equal(settlementContract), 'Invalid extension, all calls should be to the same address');
|
|
66
|
+
const makerTraits = new limit_order_sdk_1.MakerTraits(BigInt(order.makerTraits));
|
|
67
|
+
const auctionDetails = auction_details_1.AuctionDetails.decode((0, utils_1.add0x)(extension.makingAmountData.slice(42)));
|
|
68
|
+
const postInteractionData = settlement_post_interaction_data_1.SettlementPostInteractionData.decode((0, utils_1.add0x)(extension.postInteraction.slice(42)));
|
|
69
|
+
const deadline = makerTraits.expiration();
|
|
70
|
+
const orderExpirationDelay = deadline === null
|
|
71
|
+
? undefined
|
|
72
|
+
: deadline - auctionDetails.startTime - auctionDetails.duration;
|
|
73
|
+
return new FusionOrder(settlementContract, {
|
|
74
|
+
salt: BigInt(order.salt) >> 160n,
|
|
75
|
+
maker: new limit_order_sdk_1.Address(order.maker),
|
|
76
|
+
receiver: new limit_order_sdk_1.Address(order.receiver),
|
|
77
|
+
makerAsset: new limit_order_sdk_1.Address(order.makerAsset),
|
|
78
|
+
takerAsset: new limit_order_sdk_1.Address(order.takerAsset),
|
|
79
|
+
makingAmount: BigInt(order.makingAmount),
|
|
80
|
+
takingAmount: BigInt(order.takingAmount)
|
|
81
|
+
}, auctionDetails, postInteractionData, {
|
|
82
|
+
allowMultipleFills: makerTraits.isMultipleFillsAllowed(),
|
|
83
|
+
allowPartialFills: makerTraits.isPartialFillAllowed(),
|
|
84
|
+
enablePermit2: makerTraits.isPermit2(),
|
|
85
|
+
nonce: makerTraits.nonceOrEpoch(),
|
|
86
|
+
permit: extension.makerPermit === constants_1.ZX
|
|
87
|
+
? undefined
|
|
88
|
+
: extension.makerPermit,
|
|
89
|
+
unwrapWETH: makerTraits.isNativeUnwrapEnabled(),
|
|
90
|
+
orderExpirationDelay
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
build() {
|
|
94
|
+
return this.inner.build();
|
|
95
|
+
}
|
|
96
|
+
getOrderHash(domain = (0, limit_order_sdk_1.getLimitOrderV4Domain)(1)) {
|
|
97
|
+
return this.inner.getOrderHash(domain);
|
|
98
|
+
}
|
|
99
|
+
getTypedData(domain = (0, limit_order_sdk_1.getLimitOrderV4Domain)(1)) {
|
|
100
|
+
return this.inner.getTypedData(domain);
|
|
101
|
+
}
|
|
102
|
+
getCalculator() {
|
|
103
|
+
return auction_calculator_1.AuctionCalculator.fromAuctionData(this.fusionExtension.postInteractionData, this.fusionExtension.details);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.FusionOrder = FusionOrder;
|
|
107
|
+
FusionOrder.defaultExtra = {
|
|
108
|
+
allowPartialFills: true,
|
|
109
|
+
allowMultipleFills: true,
|
|
110
|
+
unwrapWETH: false,
|
|
111
|
+
enablePermit2: false,
|
|
112
|
+
orderExpirationDelay: 12n
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=fusion-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fusion-order.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
|
|
4
|
+
const fusion_order_1 = require("./fusion-order");
|
|
5
|
+
const auction_details_1 = require("./auction-details");
|
|
6
|
+
describe('Fusion Order', () => {
|
|
7
|
+
it('should create fusion order', () => {
|
|
8
|
+
const extensionContract = new limit_order_sdk_1.Address('0x8273f37417da37c4a6c3995e82cf442f87a25d9c');
|
|
9
|
+
const order = fusion_order_1.FusionOrder.new(extensionContract, {
|
|
10
|
+
makerAsset: new limit_order_sdk_1.Address('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
|
|
11
|
+
takerAsset: new limit_order_sdk_1.Address('0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'),
|
|
12
|
+
makingAmount: 1000000000000000000n,
|
|
13
|
+
takingAmount: 1420000000n,
|
|
14
|
+
maker: new limit_order_sdk_1.Address('0x00000000219ab540356cbb839cbe05303d7705fa'),
|
|
15
|
+
salt: 10n
|
|
16
|
+
}, {
|
|
17
|
+
auction: new auction_details_1.AuctionDetails({
|
|
18
|
+
duration: 180n,
|
|
19
|
+
startTime: 1673548149n,
|
|
20
|
+
initialRateBump: 50000,
|
|
21
|
+
points: [
|
|
22
|
+
{
|
|
23
|
+
coefficient: 20000,
|
|
24
|
+
delay: 12
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}),
|
|
28
|
+
whitelist: [
|
|
29
|
+
{
|
|
30
|
+
address: new limit_order_sdk_1.Address('0x00000000219ab540356cbb839cbe05303d7705fa'),
|
|
31
|
+
delay: 0n
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
});
|
|
35
|
+
const builtOrder = order.build();
|
|
36
|
+
expect(builtOrder).toStrictEqual({
|
|
37
|
+
maker: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
38
|
+
makerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
39
|
+
makingAmount: '1000000000000000000',
|
|
40
|
+
receiver: '0x0000000000000000000000000000000000000000',
|
|
41
|
+
takerAsset: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
42
|
+
takingAmount: '1420000000',
|
|
43
|
+
makerTraits: '29852648006495581632639394572552351243421169944806257724550573036760110989312',
|
|
44
|
+
salt: '14832508939800728556409473652845244531014097925085'
|
|
45
|
+
});
|
|
46
|
+
const makerTraits = new limit_order_sdk_1.MakerTraits(BigInt(builtOrder.makerTraits));
|
|
47
|
+
expect(makerTraits.isNativeUnwrapEnabled()).toEqual(false);
|
|
48
|
+
expect(makerTraits.nonceOrEpoch()).toEqual(0n);
|
|
49
|
+
expect(makerTraits.isPartialFillAllowed()).toEqual(true);
|
|
50
|
+
});
|
|
51
|
+
it('should decode fusion order from order + extension', () => {
|
|
52
|
+
const extensionContract = new limit_order_sdk_1.Address('0x8273f37417da37c4a6c3995e82cf442f87a25d9c');
|
|
53
|
+
const order = fusion_order_1.FusionOrder.new(extensionContract, {
|
|
54
|
+
makerAsset: new limit_order_sdk_1.Address('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
|
|
55
|
+
takerAsset: new limit_order_sdk_1.Address('0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'),
|
|
56
|
+
makingAmount: 1000000000000000000n,
|
|
57
|
+
takingAmount: 1420000000n,
|
|
58
|
+
maker: new limit_order_sdk_1.Address('0x00000000219ab540356cbb839cbe05303d7705fa'),
|
|
59
|
+
salt: 10n
|
|
60
|
+
}, {
|
|
61
|
+
auction: new auction_details_1.AuctionDetails({
|
|
62
|
+
duration: 180n,
|
|
63
|
+
startTime: 1673548149n,
|
|
64
|
+
initialRateBump: 50000,
|
|
65
|
+
points: [
|
|
66
|
+
{
|
|
67
|
+
coefficient: 20000,
|
|
68
|
+
delay: 12
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}),
|
|
72
|
+
whitelist: [
|
|
73
|
+
{
|
|
74
|
+
address: new limit_order_sdk_1.Address('0x00000000219ab540356cbb839cbe05303d7705fa'),
|
|
75
|
+
delay: 0n
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
});
|
|
79
|
+
expect(fusion_order_1.FusionOrder.fromDataAndExtension(order.build(), order.extension)).toStrictEqual(order);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=fusion-order.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fusion-order.spec.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-order.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -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("./fusion-order"), exports);
|
|
18
|
+
__exportStar(require("./auction-details"), exports);
|
|
19
|
+
__exportStar(require("./settlement-post-interaction-data"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fusion-order/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,oDAAiC;AACjC,qEAAkD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./settlement-post-interaction-data"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fusion-order/settlement-post-interaction-data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAkD;AAClD,0CAAuB"}
|
package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IntegratorFee, SettlementSuffixData } from './types';
|
|
2
|
+
export declare class SettlementPostInteractionData {
|
|
3
|
+
readonly whitelist: WhitelistItem[];
|
|
4
|
+
readonly integratorFee?: IntegratorFee;
|
|
5
|
+
readonly bankFee: bigint;
|
|
6
|
+
readonly auctionStartTime: bigint;
|
|
7
|
+
private constructor();
|
|
8
|
+
static new(data: SettlementSuffixData): SettlementPostInteractionData;
|
|
9
|
+
static decode(data: string): SettlementPostInteractionData;
|
|
10
|
+
encode(): string;
|
|
11
|
+
}
|
|
12
|
+
type WhitelistItem = {
|
|
13
|
+
addressHalf: string;
|
|
14
|
+
delay: bigint;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SettlementPostInteractionData = void 0;
|
|
7
|
+
const ethers_1 = require("ethers");
|
|
8
|
+
const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
|
|
9
|
+
const assert_1 = __importDefault(require("assert"));
|
|
10
|
+
const validations_1 = require("../../validations");
|
|
11
|
+
const bytes_iter_1 = require("../../utils/bytes/bytes-iter");
|
|
12
|
+
const utils_1 = require("../../utils");
|
|
13
|
+
class SettlementPostInteractionData {
|
|
14
|
+
constructor(data) {
|
|
15
|
+
this.whitelist = data.whitelist;
|
|
16
|
+
this.integratorFee = data?.integratorFee;
|
|
17
|
+
this.bankFee = data.bankFee;
|
|
18
|
+
this.auctionStartTime = data.auctionStartTime;
|
|
19
|
+
}
|
|
20
|
+
static new(data) {
|
|
21
|
+
return new SettlementPostInteractionData({
|
|
22
|
+
...data,
|
|
23
|
+
whitelist: data.whitelist.map((d) => ({
|
|
24
|
+
addressHalf: d.address.toString().slice(-20),
|
|
25
|
+
delay: d.delay
|
|
26
|
+
}))
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static decode(data) {
|
|
30
|
+
(0, assert_1.default)((0, validations_1.isHexBytes)(data), 'Post interaction data must be valid bytes string');
|
|
31
|
+
const iter = new bytes_iter_1.BytesIter(data);
|
|
32
|
+
const feeType = iter.nextByte();
|
|
33
|
+
let bankFee = 0n;
|
|
34
|
+
let integratorFee;
|
|
35
|
+
if ((feeType & 1n) === 1n) {
|
|
36
|
+
bankFee = iter.nextUint32();
|
|
37
|
+
}
|
|
38
|
+
if ((feeType & 2n) === 2n) {
|
|
39
|
+
const integratorAddress = iter.nextUint160();
|
|
40
|
+
const integratorFeeRatio = iter.nextUint32();
|
|
41
|
+
integratorFee = {
|
|
42
|
+
ratio: integratorFeeRatio,
|
|
43
|
+
receiver: limit_order_sdk_1.Address.fromBigInt(integratorAddress)
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const auctionStartTime = iter.nextUint32();
|
|
47
|
+
const whitelist = [];
|
|
48
|
+
while (!iter.isEmpty()) {
|
|
49
|
+
const addressHalf = iter
|
|
50
|
+
.nextBytes(10)
|
|
51
|
+
.toString(16)
|
|
52
|
+
.padStart(20, '0');
|
|
53
|
+
const allowance = iter.nextUint16();
|
|
54
|
+
whitelist.push({
|
|
55
|
+
addressHalf,
|
|
56
|
+
delay: allowance
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return new SettlementPostInteractionData({
|
|
60
|
+
integratorFee,
|
|
61
|
+
bankFee,
|
|
62
|
+
auctionStartTime,
|
|
63
|
+
whitelist
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
encode() {
|
|
67
|
+
const fee = {
|
|
68
|
+
type: 'uint8',
|
|
69
|
+
value: 0n
|
|
70
|
+
};
|
|
71
|
+
const data = [fee];
|
|
72
|
+
if (this.bankFee) {
|
|
73
|
+
fee.value |= 1n;
|
|
74
|
+
data.push({
|
|
75
|
+
type: 'uint32',
|
|
76
|
+
value: ethers_1.ethers.solidityPacked(['uint32'], [this.bankFee])
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
if (this.integratorFee?.ratio) {
|
|
80
|
+
fee.value |= 2n;
|
|
81
|
+
data.push({
|
|
82
|
+
type: 'uint160',
|
|
83
|
+
value: ethers_1.ethers.solidityPacked(['uint160'], [this.integratorFee.receiver.toString()])
|
|
84
|
+
}, {
|
|
85
|
+
type: 'uint32',
|
|
86
|
+
value: ethers_1.ethers.solidityPacked(['uint32'], [this.integratorFee.ratio])
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
data.push({
|
|
90
|
+
type: 'uint32',
|
|
91
|
+
value: this.auctionStartTime
|
|
92
|
+
});
|
|
93
|
+
for (const wl of this.whitelist) {
|
|
94
|
+
data.push({
|
|
95
|
+
type: 'bytes10',
|
|
96
|
+
value: (0, utils_1.add0x)(wl.addressHalf)
|
|
97
|
+
}, {
|
|
98
|
+
type: 'uint16',
|
|
99
|
+
value: BigInt(wl.delay)
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
return ethers_1.ethers.solidityPacked(data.map((d) => d.type), data.map((d) => d.value));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.SettlementPostInteractionData = SettlementPostInteractionData;
|
|
106
|
+
//# sourceMappingURL=settlement-post-interaction-data.js.map
|
package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settlement-post-interaction-data.js","sourceRoot":"","sources":["../../../src/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|