@avaprotocol/protocols 0.4.1 → 0.6.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/CHANGELOG.md +49 -0
- package/dist/index.cjs +529 -15
- package/dist/index.js +529 -15
- package/dist/protocols/chainlink.d.ts +6 -1
- package/dist/protocols/chainlink.d.ts.map +1 -1
- package/dist/protocols/erc20.d.ts +7 -0
- package/dist/protocols/erc20.d.ts.map +1 -1
- package/dist/protocols/index.d.ts +11 -0
- package/dist/protocols/index.d.ts.map +1 -1
- package/dist/tokens/base-sepolia.cjs +93 -0
- package/dist/tokens/base-sepolia.d.ts +5 -0
- package/dist/tokens/base-sepolia.d.ts.map +1 -0
- package/dist/tokens/base-sepolia.js +65 -0
- package/dist/tokens/base.cjs +358 -0
- package/dist/tokens/base.d.ts +5 -0
- package/dist/tokens/base.d.ts.map +1 -0
- package/dist/tokens/base.js +330 -0
- package/dist/tokens/bnb-mainnet.cjs +83 -0
- package/dist/tokens/bnb-mainnet.d.ts +5 -0
- package/dist/tokens/bnb-mainnet.d.ts.map +1 -0
- package/dist/tokens/bnb-mainnet.js +55 -0
- package/dist/tokens/ethereum.cjs +894 -0
- package/dist/tokens/ethereum.d.ts +5 -0
- package/dist/tokens/ethereum.d.ts.map +1 -0
- package/dist/tokens/ethereum.js +866 -0
- package/dist/tokens/ethereum.json +444 -0
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/per-chain.d.ts +30 -0
- package/dist/tokens/per-chain.d.ts.map +1 -0
- package/dist/tokens/sepolia.cjs +105 -0
- package/dist/tokens/sepolia.d.ts +5 -0
- package/dist/tokens/sepolia.d.ts.map +1 -0
- package/dist/tokens/sepolia.js +77 -0
- package/package.json +29 -2
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import { type AbiFragment } from "./types";
|
|
1
2
|
export declare const chainlink: Readonly<{
|
|
2
3
|
ethUsdFeed: Partial<Record<number, `0x${string}`>>;
|
|
3
4
|
btcUsdFeed: Partial<Record<number, `0x${string}`>>;
|
|
4
5
|
bnbUsdFeed: Partial<Record<number, `0x${string}`>>;
|
|
5
6
|
/** Shared AggregatorV3 ABI — works for any Chainlink feed. */
|
|
6
|
-
aggregatorV3Abi: readonly
|
|
7
|
+
aggregatorV3Abi: readonly AbiFragment[];
|
|
8
|
+
answerUpdatedEventAbi: readonly AbiFragment[];
|
|
9
|
+
eventTopics: Readonly<{
|
|
10
|
+
readonly AnswerUpdated: "0x0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f";
|
|
11
|
+
}>;
|
|
7
12
|
}>;
|
|
8
13
|
//# sourceMappingURL=chainlink.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainlink.d.ts","sourceRoot":"","sources":["../../src/protocols/chainlink.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chainlink.d.ts","sourceRoot":"","sources":["../../src/protocols/chainlink.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,SAAS,CAAC;AAgDhE,eAAO,MAAM,SAAS;;;;IAIpB,8DAA8D;;;;;;EAI9D,CAAC"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { type AbiFragment } from "./types";
|
|
2
2
|
export declare const erc20: Readonly<{
|
|
3
3
|
approveAbi: readonly AbiFragment[];
|
|
4
|
+
transferAbi: readonly AbiFragment[];
|
|
5
|
+
symbolAbi: readonly AbiFragment[];
|
|
6
|
+
decimalsAbi: readonly AbiFragment[];
|
|
7
|
+
transferEventAbi: readonly AbiFragment[];
|
|
8
|
+
eventTopics: Readonly<{
|
|
9
|
+
readonly Transfer: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";
|
|
10
|
+
}>;
|
|
4
11
|
}>;
|
|
5
12
|
//# sourceMappingURL=erc20.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../src/protocols/erc20.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../src/protocols/erc20.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAyE3C,eAAO,MAAM,KAAK;;;;;;;;;EAOhB,CAAC"}
|
|
@@ -60,12 +60,23 @@ export declare const Protocols: Readonly<{
|
|
|
60
60
|
btcUsdFeed: Partial<Record<number, `0x${string}`>>;
|
|
61
61
|
bnbUsdFeed: Partial<Record<number, `0x${string}`>>;
|
|
62
62
|
aggregatorV3Abi: readonly import("./types").AbiFragment[];
|
|
63
|
+
answerUpdatedEventAbi: readonly import("./types").AbiFragment[];
|
|
64
|
+
eventTopics: Readonly<{
|
|
65
|
+
readonly AnswerUpdated: "0x0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f";
|
|
66
|
+
}>;
|
|
63
67
|
}>;
|
|
64
68
|
compoundV3: Readonly<{
|
|
65
69
|
cometUsdc: Partial<Record<number, `0x${string}`>>;
|
|
66
70
|
}>;
|
|
67
71
|
erc20: Readonly<{
|
|
68
72
|
approveAbi: readonly import("./types").AbiFragment[];
|
|
73
|
+
transferAbi: readonly import("./types").AbiFragment[];
|
|
74
|
+
symbolAbi: readonly import("./types").AbiFragment[];
|
|
75
|
+
decimalsAbi: readonly import("./types").AbiFragment[];
|
|
76
|
+
transferEventAbi: readonly import("./types").AbiFragment[];
|
|
77
|
+
eventTopics: Readonly<{
|
|
78
|
+
readonly Transfer: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";
|
|
79
|
+
}>;
|
|
69
80
|
}>;
|
|
70
81
|
ethena: Readonly<{
|
|
71
82
|
susde: Partial<Record<number, `0x${string}`>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocols/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAkB3D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocols/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAkB3D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBpB,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/tokens/base-sepolia.ts
|
|
21
|
+
var base_sepolia_exports = {};
|
|
22
|
+
__export(base_sepolia_exports, {
|
|
23
|
+
chainId: () => chainId,
|
|
24
|
+
default: () => base_sepolia_default2,
|
|
25
|
+
tokens: () => tokens
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(base_sepolia_exports);
|
|
28
|
+
|
|
29
|
+
// src/tokens/data/base-sepolia.json
|
|
30
|
+
var base_sepolia_default = [
|
|
31
|
+
{
|
|
32
|
+
symbol: "LINK",
|
|
33
|
+
address: "0xE4aB69C077896252FAFBD49EFD26B5D171A32410",
|
|
34
|
+
decimals: 18,
|
|
35
|
+
name: "Chainlink"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
symbol: "USDC",
|
|
39
|
+
address: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
|
|
40
|
+
decimals: 6,
|
|
41
|
+
name: "USD Coin"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
symbol: "USDT",
|
|
45
|
+
address: "0xCE8565457Cca0fC7542608A2c78610Ed7bC66C8C",
|
|
46
|
+
decimals: 6,
|
|
47
|
+
name: "Tether USD"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
symbol: "WETH",
|
|
51
|
+
address: "0x4200000000000000000000000000000000000006",
|
|
52
|
+
decimals: 18,
|
|
53
|
+
name: "Wrapped Ether"
|
|
54
|
+
}
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
// src/chains.ts
|
|
58
|
+
var Chains = Object.freeze({
|
|
59
|
+
EthereumMainnet: 1,
|
|
60
|
+
Sepolia: 11155111,
|
|
61
|
+
Holesky: 17e3,
|
|
62
|
+
BaseMainnet: 8453,
|
|
63
|
+
BaseSepolia: 84532,
|
|
64
|
+
BnbMainnet: 56
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// src/tokens/per-chain.ts
|
|
68
|
+
function buildChainTokenMap(rows, sourceLabel) {
|
|
69
|
+
const out = /* @__PURE__ */ Object.create(null);
|
|
70
|
+
for (const row of rows) {
|
|
71
|
+
const { symbol, ...entry } = row;
|
|
72
|
+
if (Object.prototype.hasOwnProperty.call(out, symbol)) {
|
|
73
|
+
throw new Error(
|
|
74
|
+
`[@avaprotocol/protocols] duplicate symbol "${symbol}" in ${sourceLabel} \u2014 each symbol must appear once per chain file.`
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
out[symbol] = Object.freeze(entry);
|
|
78
|
+
}
|
|
79
|
+
return Object.freeze(out);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// src/tokens/base-sepolia.ts
|
|
83
|
+
var chainId = Chains.BaseSepolia;
|
|
84
|
+
var tokens = buildChainTokenMap(
|
|
85
|
+
base_sepolia_default,
|
|
86
|
+
"src/tokens/data/base-sepolia.json"
|
|
87
|
+
);
|
|
88
|
+
var base_sepolia_default2 = tokens;
|
|
89
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
90
|
+
0 && (module.exports = {
|
|
91
|
+
chainId,
|
|
92
|
+
tokens
|
|
93
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-sepolia.d.ts","sourceRoot":"","sources":["../../src/tokens/base-sepolia.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,OAAO,OAAqB,CAAC;AAE1C,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAG5D,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// src/tokens/data/base-sepolia.json
|
|
2
|
+
var base_sepolia_default = [
|
|
3
|
+
{
|
|
4
|
+
symbol: "LINK",
|
|
5
|
+
address: "0xE4aB69C077896252FAFBD49EFD26B5D171A32410",
|
|
6
|
+
decimals: 18,
|
|
7
|
+
name: "Chainlink"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
symbol: "USDC",
|
|
11
|
+
address: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
|
|
12
|
+
decimals: 6,
|
|
13
|
+
name: "USD Coin"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
symbol: "USDT",
|
|
17
|
+
address: "0xCE8565457Cca0fC7542608A2c78610Ed7bC66C8C",
|
|
18
|
+
decimals: 6,
|
|
19
|
+
name: "Tether USD"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
symbol: "WETH",
|
|
23
|
+
address: "0x4200000000000000000000000000000000000006",
|
|
24
|
+
decimals: 18,
|
|
25
|
+
name: "Wrapped Ether"
|
|
26
|
+
}
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
// src/chains.ts
|
|
30
|
+
var Chains = Object.freeze({
|
|
31
|
+
EthereumMainnet: 1,
|
|
32
|
+
Sepolia: 11155111,
|
|
33
|
+
Holesky: 17e3,
|
|
34
|
+
BaseMainnet: 8453,
|
|
35
|
+
BaseSepolia: 84532,
|
|
36
|
+
BnbMainnet: 56
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// src/tokens/per-chain.ts
|
|
40
|
+
function buildChainTokenMap(rows, sourceLabel) {
|
|
41
|
+
const out = /* @__PURE__ */ Object.create(null);
|
|
42
|
+
for (const row of rows) {
|
|
43
|
+
const { symbol, ...entry } = row;
|
|
44
|
+
if (Object.prototype.hasOwnProperty.call(out, symbol)) {
|
|
45
|
+
throw new Error(
|
|
46
|
+
`[@avaprotocol/protocols] duplicate symbol "${symbol}" in ${sourceLabel} \u2014 each symbol must appear once per chain file.`
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
out[symbol] = Object.freeze(entry);
|
|
50
|
+
}
|
|
51
|
+
return Object.freeze(out);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// src/tokens/base-sepolia.ts
|
|
55
|
+
var chainId = Chains.BaseSepolia;
|
|
56
|
+
var tokens = buildChainTokenMap(
|
|
57
|
+
base_sepolia_default,
|
|
58
|
+
"src/tokens/data/base-sepolia.json"
|
|
59
|
+
);
|
|
60
|
+
var base_sepolia_default2 = tokens;
|
|
61
|
+
export {
|
|
62
|
+
chainId,
|
|
63
|
+
base_sepolia_default2 as default,
|
|
64
|
+
tokens
|
|
65
|
+
};
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/tokens/base.ts
|
|
21
|
+
var base_exports = {};
|
|
22
|
+
__export(base_exports, {
|
|
23
|
+
chainId: () => chainId,
|
|
24
|
+
default: () => base_default2,
|
|
25
|
+
tokens: () => tokens
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(base_exports);
|
|
28
|
+
|
|
29
|
+
// src/tokens/data/base.json
|
|
30
|
+
var base_default = [
|
|
31
|
+
{
|
|
32
|
+
symbol: "AAVE",
|
|
33
|
+
address: "0x63706e401c06ac8513145b7687A14804d17f814b",
|
|
34
|
+
decimals: 18,
|
|
35
|
+
name: "Aave"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
symbol: "AERO",
|
|
39
|
+
address: "0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
40
|
+
decimals: 18,
|
|
41
|
+
name: "Aerodrome",
|
|
42
|
+
description: "Aerodrome Finance is a next-generation AMM designed to serve as Base's central liquidity hub, combining a powerful liquidity incentive engine, vote-lock governance model, and friendly user experience.",
|
|
43
|
+
website: "https://aerodrome.finance/",
|
|
44
|
+
explorer: "https://basescan.org/token/0x940181a94a35a4569e4529a3cdfb74e38fd98631",
|
|
45
|
+
links: {
|
|
46
|
+
x: "https://x.com/AerodromeFi",
|
|
47
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/aerodrome-finance/"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
symbol: "axlUSDC",
|
|
52
|
+
address: "0xEB466342C4d449BC9f53A865D5Cb90586f405215",
|
|
53
|
+
decimals: 6,
|
|
54
|
+
name: "Axelar Wrapped USDC",
|
|
55
|
+
description: "Axelar delivers secure cross-chain communication for Web3. Our infrastructure enables dApp users to interact with any asset or application, on any chain, with one click.",
|
|
56
|
+
website: "https://axelar.network/",
|
|
57
|
+
explorer: "https://basescan.org/token/0xEB466342C4d449BC9f53A865D5Cb90586f405215",
|
|
58
|
+
links: {
|
|
59
|
+
x: "https://x.com/axelarcore",
|
|
60
|
+
github: "https://github.com/axelarnetwork",
|
|
61
|
+
telegram: "https://t.me/axelarcommunity",
|
|
62
|
+
coingecko: "https://coingecko.com/coins/axelar-usdc",
|
|
63
|
+
docs: "https://docs.axelar.dev/",
|
|
64
|
+
discord: "https://discord.com/invite/aRZ3Ra6f7D",
|
|
65
|
+
forum: "https://community.axelar.network/",
|
|
66
|
+
whitepaper: "https://axelar.network/axelar_whitepaper.pdf",
|
|
67
|
+
reddit: "https://reddit.com/r/axelar",
|
|
68
|
+
medium: "https://medium.com/@axelar-foundation",
|
|
69
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/axlusdc/",
|
|
70
|
+
blog: "https://axelar.network/blog",
|
|
71
|
+
youtube: "https://youtube.com/@Axelarcore"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
symbol: "BAL",
|
|
76
|
+
address: "0x7c6b91D9Be155A6Db01f749217d76fF02A7227F2",
|
|
77
|
+
decimals: 18,
|
|
78
|
+
name: "Balancer",
|
|
79
|
+
description: "Balancer is a n-dimensional automated market-maker that allows anyone to create or add liquidity to customizable pools and earn trading fees. Instead of the traditional constant product AMM model, Balancer\u2019s formula is a generalization that allows any number of tokens in any weights or trading fees.",
|
|
80
|
+
website: "https://balancer.finance/",
|
|
81
|
+
explorer: "https://basescan.org/token/0x7c6b91D9Be155A6Db01f749217d76fF02A7227F2",
|
|
82
|
+
links: {
|
|
83
|
+
x: "https://x.com/BalancerLabs",
|
|
84
|
+
github: "https://github.com/balancer-labs",
|
|
85
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/balancer/"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
symbol: "BRETT",
|
|
90
|
+
address: "0x532f27101965dd16442E59d40670FaF5eBB142E4",
|
|
91
|
+
decimals: 18,
|
|
92
|
+
name: "Brett",
|
|
93
|
+
description: "Center character in Matt Furies \u201CBoys\u2019 Club\u201D following the adventures of Brett the Toad, PEPE the frog, Landwolf the wolf, and Andy the dog.",
|
|
94
|
+
website: "https://www.basedbrett.com/",
|
|
95
|
+
explorer: "https://basescan.org/token/0x532f27101965dd16442e59d40670faf5ebb142e4",
|
|
96
|
+
links: {
|
|
97
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/based-brett/",
|
|
98
|
+
x: "https://x.com/BasedBrett"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
symbol: "cbBTC",
|
|
103
|
+
address: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
|
|
104
|
+
decimals: 8,
|
|
105
|
+
name: "Coinbase Wrapped BTC"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
symbol: "cbETH",
|
|
109
|
+
address: "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22",
|
|
110
|
+
decimals: 18,
|
|
111
|
+
name: "Coinbase Wrapped Staked ETH",
|
|
112
|
+
description: "Coinbase Wrapped Staked ETH (\u201CcbETH\u201D) is a utility token that represents Ethereum 2 (ETH2), which is ETH staked through Coinbase.",
|
|
113
|
+
website: "https://www.coinbase.com/",
|
|
114
|
+
explorer: "https://basescan.org/token/0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22",
|
|
115
|
+
links: {
|
|
116
|
+
x: "https://x.com/CoinbaseAssets",
|
|
117
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/coinbase-wrapped-staked-eth/"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
symbol: "DAI",
|
|
122
|
+
address: "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
123
|
+
decimals: 18,
|
|
124
|
+
name: "Dai",
|
|
125
|
+
description: "Dai is a stable cryptocurrency supported by Maker (MKR). To ensure price stability, Dai minimizes the price volatility against the US dollar, through an incentive structure for its participants.",
|
|
126
|
+
website: "http://makerdao.com",
|
|
127
|
+
explorer: "https://basescan.org/token/0x50c5725949a6f0c72e6c4a641f24049a917db0cb",
|
|
128
|
+
links: {
|
|
129
|
+
x: "https://x.com/MakerDAO",
|
|
130
|
+
reddit: "https://reddit.com/r/MakerDAO/",
|
|
131
|
+
blog: "https://blog.makerdao.com/",
|
|
132
|
+
whitepaper: "https://makerdao.com/whitepaper/",
|
|
133
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/multi-collateral-dai/",
|
|
134
|
+
coingecko: "https://coingecko.com/en/coins/dai/"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
symbol: "DEGEN",
|
|
139
|
+
address: "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
|
|
140
|
+
decimals: 18,
|
|
141
|
+
name: "Degen",
|
|
142
|
+
description: "Degen, an ERC-20 token on Base, launched in January 2024 with an airdrop to the Degen channel community on Farcaster. Our goal is to distribute the token among builders, content creators, and users in the Base and Farcaster ecosystem.",
|
|
143
|
+
website: "https://www.degen.tips/",
|
|
144
|
+
explorer: "https://basescan.org/token/0x4ed4e862860bed51a9570b96d89af5e1b0efefed",
|
|
145
|
+
links: {
|
|
146
|
+
x: "https://x.com/degentokenbase",
|
|
147
|
+
telegram: "https://t.me/degentokenbase",
|
|
148
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/degen-base/"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
symbol: "LINK",
|
|
153
|
+
address: "0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196",
|
|
154
|
+
decimals: 18,
|
|
155
|
+
name: "Chainlink"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
symbol: "MORPHO",
|
|
159
|
+
address: "0xBAa5CC21fd487B8Fcc2F632f3F4E8D37262a0842",
|
|
160
|
+
decimals: 18,
|
|
161
|
+
name: "Morpho Token",
|
|
162
|
+
description: "Morpho is an open, efficient, and resilient platform that allows anyone to earn yield and borrow assets. Lenders can earn on Morpho using Morpho Vaults, noncustodial simple to use lending vaults that optimize yields for depositors. Borrowers can borrow any assets directly from Morpho Markets.",
|
|
163
|
+
website: "https://morpho.org/",
|
|
164
|
+
explorer: "https://basescan.org/token/0xBAa5CC21fd487B8Fcc2F632f3F4E8D37262a0842",
|
|
165
|
+
links: {
|
|
166
|
+
x: "https://x.com/morpholabs?s=11&t=ZGzrL8B9N7GpbA3YLFvU9A",
|
|
167
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/morpho/"
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
symbol: "rETH",
|
|
172
|
+
address: "0xB6fe221Fe9EeF5aBa221c348bA20A1Bf5e73624c",
|
|
173
|
+
decimals: 18,
|
|
174
|
+
name: "Rocket Pool ETH",
|
|
175
|
+
description: "Rocket Pool is a decentralised Ethereum Proof of Stake pool.",
|
|
176
|
+
website: "https://www.rocketpool.net/",
|
|
177
|
+
explorer: "https://basescan.org/token/0xb6fe221fe9eef5aba221c348ba20a1bf5e73624c",
|
|
178
|
+
links: {
|
|
179
|
+
x: "https://x.com/Rocket_Pool",
|
|
180
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/rocket-pool-eth/",
|
|
181
|
+
coingecko: "https://coingecko.com/en/coins/rocket-pool-eth/"
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
symbol: "RSR",
|
|
186
|
+
address: "0xaB36452DbAC151bE02b16Ca17d8919826072f64a",
|
|
187
|
+
decimals: 18,
|
|
188
|
+
name: "Reserve Rights",
|
|
189
|
+
description: "The fluctuating protocol token that plays a role in stabilizing RSV and confers the cryptographic right to purchase excess Reserve tokens as the network grows.",
|
|
190
|
+
website: "https://reserve.org/",
|
|
191
|
+
explorer: "https://basescan.org/token/0xab36452dbac151be02b16ca17d8919826072f64a",
|
|
192
|
+
links: {
|
|
193
|
+
x: "https://x.com/reserveprotocol",
|
|
194
|
+
telegram: "https://t.me/reservecurrency"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
symbol: "TOSHI",
|
|
199
|
+
address: "0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4",
|
|
200
|
+
decimals: 18,
|
|
201
|
+
name: "Toshi",
|
|
202
|
+
description: "Toshi aims to become the first Base-native token to get listed on Coinbase.",
|
|
203
|
+
website: "https://www.toshithecat.com",
|
|
204
|
+
explorer: "https://basescan.org/token/0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4",
|
|
205
|
+
links: {
|
|
206
|
+
github: "https://github.com/ToshiTheCat",
|
|
207
|
+
x: "https://x.com/toshi_base",
|
|
208
|
+
whitepaper: "https://medium.com/@ToshiBase/toshi-roadmap-the-face-of-base-3451b399aa27",
|
|
209
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/toshi-/",
|
|
210
|
+
coingecko: "https://coingecko.com/en/coins/toshi/",
|
|
211
|
+
medium: "https://medium.com/@Toshi_Base"
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
symbol: "UNI",
|
|
216
|
+
address: "0xc3De830EA07524a0761646a6a4e4be0e114a3C83",
|
|
217
|
+
decimals: 18,
|
|
218
|
+
name: "Uniswap"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
symbol: "USDbC",
|
|
222
|
+
address: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
223
|
+
decimals: 6,
|
|
224
|
+
name: "USD Base Coin",
|
|
225
|
+
description: "USDC is a fully collateralized US dollar stablecoin, an Ethereum powered coin and is the brainchild of CENTRE, an open source project bootstrapped by contributions from Circle and Coinbase.",
|
|
226
|
+
website: "https://www.centre.io",
|
|
227
|
+
explorer: "https://basescan.org/token/0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca",
|
|
228
|
+
links: {
|
|
229
|
+
github: "https://github.com/centrehq",
|
|
230
|
+
whitepaper: "https://centre.io/pdfs/centre-whitepaper.pdf",
|
|
231
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/usd-coin/",
|
|
232
|
+
coingecko: "https://coingecko.com/en/coins/usd-coin/",
|
|
233
|
+
medium: "https://medium.com/centre-blog"
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
symbol: "USDC",
|
|
238
|
+
address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
239
|
+
decimals: 6,
|
|
240
|
+
name: "USD Coin",
|
|
241
|
+
description: "USDC is a fully collateralized US dollar stablecoin, an Ethereum powered coin and is the brainchild of CENTRE, an open source project bootstrapped by contributions from Circle and Coinbase.",
|
|
242
|
+
website: "https://centre.io/usdc",
|
|
243
|
+
explorer: "https://basescan.org/token/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
244
|
+
links: {
|
|
245
|
+
github: "https://github.com/centrehq",
|
|
246
|
+
medium: "https://medium.com/centre-blog",
|
|
247
|
+
whitepaper: "https://centre.io/pdfs/centre-whitepaper.pdf",
|
|
248
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/usd-coin/",
|
|
249
|
+
coingecko: "https://coingecko.com/en/coins/usd-coin/"
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
symbol: "USDT",
|
|
254
|
+
address: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
|
|
255
|
+
decimals: 6,
|
|
256
|
+
name: "Bridged Tether USD",
|
|
257
|
+
description: "This bridged token is not issued by, redeemable by, or affiliated with, Tether. Tether is not responsible for it. The T Logo is used under license from Tether solely to identify a bridged version of a token issued by Tether.",
|
|
258
|
+
website: "https://gfx.xyz/",
|
|
259
|
+
explorer: "https://basescan.org/token/0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
|
|
260
|
+
links: {
|
|
261
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/tether/"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
symbol: "VIRTUAL",
|
|
266
|
+
address: "0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b",
|
|
267
|
+
decimals: 18,
|
|
268
|
+
name: "Virtual Protocol",
|
|
269
|
+
description: "The ecosystem for the creation and co-ownership of autonomous AI Agents. Building the first autonomous agentic network state.",
|
|
270
|
+
website: "https://app.virtuals.io/",
|
|
271
|
+
explorer: "https://basescan.org/token/0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
symbol: "WELL",
|
|
275
|
+
address: "0xA88594D404727625A9437C3f886C7643872296AE",
|
|
276
|
+
decimals: 18,
|
|
277
|
+
name: "WELL",
|
|
278
|
+
description: "Moonwell is an open lending and borrowing app built on Base, Moonbeam, and Moonriver.",
|
|
279
|
+
website: "https://moonwell.fi/",
|
|
280
|
+
explorer: "https://basescan.org/token/0xa88594d404727625a9437c3f886c7643872296ae",
|
|
281
|
+
links: {
|
|
282
|
+
x: "https://x.com/MoonwellDeFi"
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
symbol: "WETH",
|
|
287
|
+
address: "0x4200000000000000000000000000000000000006",
|
|
288
|
+
decimals: 18,
|
|
289
|
+
name: "Wrapped Ether",
|
|
290
|
+
description: "wETH is wrapped ETH",
|
|
291
|
+
website: "https://weth.io/",
|
|
292
|
+
explorer: "https://basescan.org/token/0x4200000000000000000000000000000000000006",
|
|
293
|
+
links: {
|
|
294
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/weth/",
|
|
295
|
+
coingecko: "https://coingecko.com/coins/weth/"
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
symbol: "wstETH",
|
|
300
|
+
address: "0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",
|
|
301
|
+
decimals: 18,
|
|
302
|
+
name: "Wrapped liquid staked Ether 2.0"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
symbol: "YFI",
|
|
306
|
+
address: "0x9EaF8C1E34F05a589EDa6BAfdF391Cf6Ad3CB239",
|
|
307
|
+
decimals: 18,
|
|
308
|
+
name: "yearn.finance",
|
|
309
|
+
description: "DeFi made simple.",
|
|
310
|
+
website: "https://yearn.finance/",
|
|
311
|
+
explorer: "https://basescan.org/token/0x9eaf8c1e34f05a589eda6bafdf391cf6ad3cb239",
|
|
312
|
+
links: {
|
|
313
|
+
x: "https://x.com/iearnfinance",
|
|
314
|
+
medium: "https://medium.com/iearn",
|
|
315
|
+
telegram: "https://t.me/iearnfinance",
|
|
316
|
+
coinmarketcap: "https://coinmarketcap.com/currencies/yearn-finance/",
|
|
317
|
+
coingecko: "https://coingecko.com/en/coins/yearn-finance/"
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
];
|
|
321
|
+
|
|
322
|
+
// src/chains.ts
|
|
323
|
+
var Chains = Object.freeze({
|
|
324
|
+
EthereumMainnet: 1,
|
|
325
|
+
Sepolia: 11155111,
|
|
326
|
+
Holesky: 17e3,
|
|
327
|
+
BaseMainnet: 8453,
|
|
328
|
+
BaseSepolia: 84532,
|
|
329
|
+
BnbMainnet: 56
|
|
330
|
+
});
|
|
331
|
+
|
|
332
|
+
// src/tokens/per-chain.ts
|
|
333
|
+
function buildChainTokenMap(rows, sourceLabel) {
|
|
334
|
+
const out = /* @__PURE__ */ Object.create(null);
|
|
335
|
+
for (const row of rows) {
|
|
336
|
+
const { symbol, ...entry } = row;
|
|
337
|
+
if (Object.prototype.hasOwnProperty.call(out, symbol)) {
|
|
338
|
+
throw new Error(
|
|
339
|
+
`[@avaprotocol/protocols] duplicate symbol "${symbol}" in ${sourceLabel} \u2014 each symbol must appear once per chain file.`
|
|
340
|
+
);
|
|
341
|
+
}
|
|
342
|
+
out[symbol] = Object.freeze(entry);
|
|
343
|
+
}
|
|
344
|
+
return Object.freeze(out);
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
// src/tokens/base.ts
|
|
348
|
+
var chainId = Chains.BaseMainnet;
|
|
349
|
+
var tokens = buildChainTokenMap(
|
|
350
|
+
base_default,
|
|
351
|
+
"src/tokens/data/base.json"
|
|
352
|
+
);
|
|
353
|
+
var base_default2 = tokens;
|
|
354
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
355
|
+
0 && (module.exports = {
|
|
356
|
+
chainId,
|
|
357
|
+
tokens
|
|
358
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/tokens/base.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,OAAO,MAAqB,CAAC;AAE1C,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAG5D,CAAC;AAEF,eAAe,MAAM,CAAC"}
|