@avail-project/ca-common 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/balances/ub-api.js +25 -0
- package/dist/cjs/cosmos/index.js +31 -0
- package/dist/cjs/data/chaindata.js +680 -0
- package/dist/cjs/data/chainid.js +91 -0
- package/dist/cjs/data/currency.js +77 -0
- package/dist/cjs/data/index.js +7 -0
- package/dist/cjs/data/utils.js +44 -0
- package/dist/cjs/evmabi/erc20.abi.js +349 -0
- package/dist/cjs/evmabi/index.js +6 -0
- package/dist/cjs/evmabi/vault.abi.js +1021 -0
- package/dist/cjs/evmabi/yakaggregator.abi.js +275 -0
- package/dist/cjs/fuelcontracts/ArcanaVault.js +2407 -0
- package/dist/cjs/fuelcontracts/ArcanaVaultFactory.js +18 -0
- package/dist/cjs/fuelcontracts/common.js +3 -0
- package/dist/cjs/fuelcontracts/index.js +5 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/permitutils/index.js +186 -0
- package/dist/cjs/proto/definition.js +4263 -0
- package/dist/cjs/proto/grpc.js +303 -0
- package/dist/cjs/rff/fuel.js +27 -0
- package/dist/cjs/rff/rff.js +77 -0
- package/dist/cjs/types/binarytypes.js +2 -0
- package/dist/cjs/types/index.js +5 -0
- package/dist/cjs/types/msgpack-axios.js +22 -0
- package/dist/cjs/vaultcontracts/index.js +4 -0
- package/dist/cjs/vaultcontracts/vaultcontracts.js +145 -0
- package/dist/cjs/xcs/autochoice.js +374 -0
- package/dist/cjs/xcs/bebop-agg.js +128 -0
- package/dist/cjs/xcs/iface.js +13 -0
- package/dist/cjs/xcs/index.js +8 -0
- package/dist/cjs/xcs/lifi-agg.js +104 -0
- package/dist/cjs/xcs/yieldyak-agg.js +113 -0
- package/dist/esm/balances/ub-api.js +21 -0
- package/dist/esm/cosmos/index.js +26 -0
- package/dist/esm/data/chaindata.js +677 -0
- package/dist/esm/data/chainid.js +85 -0
- package/dist/esm/data/currency.js +72 -0
- package/dist/esm/data/index.js +4 -0
- package/dist/esm/data/utils.js +34 -0
- package/dist/esm/evmabi/erc20.abi.js +346 -0
- package/dist/esm/evmabi/index.js +3 -0
- package/dist/esm/evmabi/vault.abi.js +1018 -0
- package/dist/esm/evmabi/yakaggregator.abi.js +272 -0
- package/dist/esm/fuelcontracts/ArcanaVault.js +2402 -0
- package/dist/esm/fuelcontracts/ArcanaVaultFactory.js +14 -0
- package/dist/esm/fuelcontracts/common.js +2 -0
- package/dist/esm/fuelcontracts/index.js +2 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/permitutils/index.js +181 -0
- package/dist/esm/proto/definition.js +4255 -0
- package/dist/esm/proto/grpc.js +297 -0
- package/dist/esm/rff/fuel.js +23 -0
- package/dist/esm/rff/rff.js +73 -0
- package/dist/esm/types/binarytypes.js +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/msgpack-axios.js +18 -0
- package/dist/esm/vaultcontracts/index.js +1 -0
- package/dist/esm/vaultcontracts/vaultcontracts.js +141 -0
- package/dist/esm/xcs/autochoice.js +364 -0
- package/dist/esm/xcs/bebop-agg.js +123 -0
- package/dist/esm/xcs/iface.js +10 -0
- package/dist/esm/xcs/index.js +5 -0
- package/dist/esm/xcs/lifi-agg.js +99 -0
- package/dist/esm/xcs/yieldyak-agg.js +109 -0
- package/dist/types/balances/ub-api.d.ts +14 -0
- package/dist/types/cosmos/index.d.ts +6 -0
- package/dist/types/data/chaindata.d.ts +20 -0
- package/dist/types/data/chainid.d.ts +31 -0
- package/dist/types/data/currency.d.ts +29 -0
- package/dist/types/data/index.d.ts +4 -0
- package/dist/types/data/utils.d.ts +10 -0
- package/dist/types/evmabi/erc20.abi.d.ts +264 -0
- package/dist/types/evmabi/index.d.ts +3 -0
- package/dist/types/evmabi/vault.abi.d.ts +785 -0
- package/dist/types/evmabi/yakaggregator.abi.d.ts +298 -0
- package/dist/types/fuelcontracts/ArcanaVault.d.ts +448 -0
- package/dist/types/fuelcontracts/ArcanaVaultFactory.d.ts +8 -0
- package/dist/types/fuelcontracts/common.d.ts +23 -0
- package/dist/types/fuelcontracts/index.d.ts +2 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/permitutils/index.d.ts +13 -0
- package/dist/types/proto/definition.d.ts +373 -0
- package/dist/types/proto/grpc.d.ts +75 -0
- package/dist/types/rff/fuel.d.ts +4 -0
- package/dist/types/rff/rff.d.ts +12 -0
- package/dist/types/types/binarytypes.d.ts +1 -0
- package/dist/types/types/index.d.ts +2 -0
- package/dist/types/types/msgpack-axios.d.ts +1 -0
- package/dist/types/vaultcontracts/index.d.ts +22 -0
- package/dist/types/vaultcontracts/vaultcontracts.d.ts +8 -0
- package/dist/types/xcs/autochoice.d.ts +57 -0
- package/dist/types/xcs/bebop-agg.d.ts +104 -0
- package/dist/types/xcs/iface.d.ts +36 -0
- package/dist/types/xcs/index.d.ts +5 -0
- package/dist/types/xcs/lifi-agg.d.ts +35 -0
- package/dist/types/xcs/yieldyak-agg.d.ts +21 -0
- package/package.json +63 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Bytes } from "../types";
|
|
2
|
+
import { OmniversalChainID } from "../data";
|
|
3
|
+
export declare enum QuoteType {
|
|
4
|
+
EXACT_IN = 0,
|
|
5
|
+
EXACT_OUT = 1
|
|
6
|
+
}
|
|
7
|
+
export declare enum QuoteSeriousness {
|
|
8
|
+
PRICE_SURVEY = 0,
|
|
9
|
+
SERIOUS = 1
|
|
10
|
+
}
|
|
11
|
+
export interface Quote {
|
|
12
|
+
originalResponse: unknown;
|
|
13
|
+
type: QuoteType;
|
|
14
|
+
inputAmount: bigint;
|
|
15
|
+
outputAmountMinimum: bigint;
|
|
16
|
+
outputAmountLikely: bigint;
|
|
17
|
+
}
|
|
18
|
+
type CommonQuoteParameters = {
|
|
19
|
+
userAddress: Bytes;
|
|
20
|
+
chain: OmniversalChainID;
|
|
21
|
+
inputToken: Bytes;
|
|
22
|
+
outputToken: Bytes;
|
|
23
|
+
seriousness: QuoteSeriousness;
|
|
24
|
+
};
|
|
25
|
+
export type QuoteRequestExactInput = CommonQuoteParameters & {
|
|
26
|
+
type: QuoteType.EXACT_IN;
|
|
27
|
+
inputAmount: bigint;
|
|
28
|
+
};
|
|
29
|
+
export type QuoteRequestExactOutput = CommonQuoteParameters & {
|
|
30
|
+
type: QuoteType.EXACT_OUT;
|
|
31
|
+
outputAmount: bigint;
|
|
32
|
+
};
|
|
33
|
+
export interface Aggregator {
|
|
34
|
+
getQuotes(requests: (QuoteRequestExactInput | QuoteRequestExactOutput)[]): Promise<(Quote | null)[]>;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Aggregator, Quote, QuoteRequestExactInput, QuoteRequestExactOutput } from "./iface";
|
|
2
|
+
export type LiFiResponse = {
|
|
3
|
+
type: string;
|
|
4
|
+
id: string;
|
|
5
|
+
estimate: {
|
|
6
|
+
tool: string;
|
|
7
|
+
approvalAddress: string;
|
|
8
|
+
toAmountMin: string;
|
|
9
|
+
toAmount: string;
|
|
10
|
+
fromAmount: string;
|
|
11
|
+
executionDuration: number;
|
|
12
|
+
fromAmountUSD: string;
|
|
13
|
+
toAmountUSD: string;
|
|
14
|
+
};
|
|
15
|
+
integrator: string;
|
|
16
|
+
transactionRequest: {
|
|
17
|
+
value: string;
|
|
18
|
+
to: string;
|
|
19
|
+
data: string;
|
|
20
|
+
chainId: number;
|
|
21
|
+
gasPrice: string;
|
|
22
|
+
gasLimit: string;
|
|
23
|
+
from: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export type LiFiQuote = Quote & {
|
|
27
|
+
originalResponse: LiFiResponse;
|
|
28
|
+
};
|
|
29
|
+
export declare class LiFiAggregator implements Aggregator {
|
|
30
|
+
private static readonly BASE_URL_V1;
|
|
31
|
+
private static readonly COMMON_OPTIONS;
|
|
32
|
+
private readonly axios;
|
|
33
|
+
constructor(apiKey: string);
|
|
34
|
+
getQuotes(requests: (QuoteRequestExactInput | QuoteRequestExactOutput)[]): Promise<(LiFiQuote | null)[]>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Hex, PublicClient } from "viem";
|
|
2
|
+
import { Aggregator, Quote, QuoteRequestExactInput, QuoteRequestExactOutput } from "./iface";
|
|
3
|
+
import { OmniversalChainID } from "../data";
|
|
4
|
+
type YakOffer = {
|
|
5
|
+
amounts: bigint[];
|
|
6
|
+
adapters: Hex[];
|
|
7
|
+
path: Hex[];
|
|
8
|
+
gasEstimate: bigint;
|
|
9
|
+
};
|
|
10
|
+
export type YakAggregatorQuote = Quote & {
|
|
11
|
+
offer: YakOffer;
|
|
12
|
+
};
|
|
13
|
+
export declare class YieldYakAggregator implements Aggregator {
|
|
14
|
+
private readonly clients;
|
|
15
|
+
constructor(clients: {
|
|
16
|
+
chainID: OmniversalChainID;
|
|
17
|
+
client: PublicClient;
|
|
18
|
+
}[]);
|
|
19
|
+
getQuotes(_requests: (QuoteRequestExactInput | QuoteRequestExactOutput)[]): Promise<(YakAggregatorQuote | null)[]>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@avail-project/ca-common",
|
|
3
|
+
"version": "1.0.0-beta.1",
|
|
4
|
+
"description": "common utilities for CA",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist"
|
|
7
|
+
],
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/types/index.d.ts",
|
|
11
|
+
"require": "./dist/cjs/index.js",
|
|
12
|
+
"import": "./dist/esm/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./fuelcontracts": {
|
|
15
|
+
"types": "./dist/types/fuelcontracts/index.d.ts",
|
|
16
|
+
"require": "./dist/cjs/fuelcontracts/index.js",
|
|
17
|
+
"import": "./dist/esm/fuelcontracts/index.js"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "run-s clean build:esm build:cjs",
|
|
22
|
+
"build:esm": "tsc --project tsconfig.json",
|
|
23
|
+
"build:cjs": "tsc --project tsconfig.cjs.json",
|
|
24
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
25
|
+
"lint": "eslint",
|
|
26
|
+
"clean": "rimraf dist/",
|
|
27
|
+
"prepublishOnly": "npm run build"
|
|
28
|
+
},
|
|
29
|
+
"author": "",
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@eslint/eslintrc": "^3.3.1",
|
|
33
|
+
"@eslint/js": "^9.31.0",
|
|
34
|
+
"@types/node": "^22.16.3",
|
|
35
|
+
"@typescript-eslint/eslint-plugin": "^8.36.0",
|
|
36
|
+
"@typescript-eslint/parser": "^8.36.0",
|
|
37
|
+
"eslint": "^9.31.0",
|
|
38
|
+
"eslint-config-prettier": "^10.1.5",
|
|
39
|
+
"globals": "^16.3.0",
|
|
40
|
+
"npm-run-all": "^4.1.5",
|
|
41
|
+
"prettier": "^3.6.2",
|
|
42
|
+
"rimraf": "^6.0.1",
|
|
43
|
+
"ts-proto": "^2.7.5",
|
|
44
|
+
"typescript": "^5.8.3"
|
|
45
|
+
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"@cosmjs/proto-signing": "^0.34.0",
|
|
48
|
+
"@cosmjs/stargate": "^0.34.0",
|
|
49
|
+
"axios": "^1.10.0",
|
|
50
|
+
"decimal.js": "^10.6.0",
|
|
51
|
+
"fuels": "^0.101.1",
|
|
52
|
+
"long": "^5.3.2",
|
|
53
|
+
"viem": "^2.31.7",
|
|
54
|
+
"msgpackr": "^1.11.4"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@bufbuild/protobuf": "^2.6.0",
|
|
58
|
+
"@improbable-eng/grpc-web": "^0.15.0",
|
|
59
|
+
"browser-headers": "^0.4.1",
|
|
60
|
+
"es-toolkit": "^1.39.7",
|
|
61
|
+
"tslib": "^2.8.1"
|
|
62
|
+
}
|
|
63
|
+
}
|