@bitgo-beta/statics 15.1.1-beta.214 → 15.1.1-beta.2140
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/src/account.d.ts +1188 -73
- package/dist/src/account.d.ts.map +1 -1
- package/dist/src/account.js +1794 -161
- package/dist/src/ada.d.ts +1 -0
- package/dist/src/ada.d.ts.map +1 -1
- package/dist/src/ada.js +7 -3
- package/dist/src/allCoinsAndTokens.d.ts +2 -0
- package/dist/src/allCoinsAndTokens.d.ts.map +1 -0
- package/dist/src/allCoinsAndTokens.js +1916 -0
- package/dist/src/avaxp.d.ts +1 -0
- package/dist/src/avaxp.d.ts.map +1 -1
- package/dist/src/avaxp.js +8 -3
- package/dist/src/base.d.ts +2981 -45
- package/dist/src/base.d.ts.map +1 -1
- package/dist/src/base.js +3101 -56
- package/dist/src/bip44CoinTypes.d.ts +26 -0
- package/dist/src/bip44CoinTypes.d.ts.map +1 -0
- package/dist/src/bip44CoinTypes.js +148 -0
- package/dist/src/canton.d.ts +35 -0
- package/dist/src/canton.d.ts.map +1 -0
- package/dist/src/canton.js +51 -0
- package/dist/src/coinFeatures.d.ts +134 -0
- package/dist/src/coinFeatures.d.ts.map +1 -0
- package/dist/src/coinFeatures.js +817 -0
- package/dist/src/coins/adaTokens.d.ts +2 -0
- package/dist/src/coins/adaTokens.d.ts.map +1 -0
- package/dist/src/coins/adaTokens.js +27 -0
- package/dist/src/coins/avaxTokens.d.ts +2 -0
- package/dist/src/coins/avaxTokens.d.ts.map +1 -0
- package/dist/src/coins/avaxTokens.js +133 -0
- package/dist/src/coins/botOfcTokens.d.ts +3 -0
- package/dist/src/coins/botOfcTokens.d.ts.map +1 -0
- package/dist/src/coins/botOfcTokens.js +352 -0
- package/dist/src/coins/botTokens.d.ts +3 -0
- package/dist/src/coins/botTokens.d.ts.map +1 -0
- package/dist/src/coins/botTokens.js +1662 -0
- package/dist/src/coins/bscTokens.d.ts +2 -0
- package/dist/src/coins/bscTokens.d.ts.map +1 -0
- package/dist/src/coins/bscTokens.js +421 -0
- package/dist/src/coins/cantonTokens.d.ts +2 -0
- package/dist/src/coins/cantonTokens.d.ts.map +1 -0
- package/dist/src/coins/cantonTokens.js +134 -0
- package/dist/src/coins/cosmosTokens.d.ts +2 -0
- package/dist/src/coins/cosmosTokens.d.ts.map +1 -0
- package/dist/src/coins/cosmosTokens.js +14 -0
- package/dist/src/coins/erc20Coins.d.ts +2 -0
- package/dist/src/coins/erc20Coins.d.ts.map +1 -0
- package/dist/src/coins/erc20Coins.js +2087 -0
- package/dist/src/coins/erc7984Tokens.d.ts +17 -0
- package/dist/src/coins/erc7984Tokens.d.ts.map +1 -0
- package/dist/src/coins/erc7984Tokens.js +40 -0
- package/dist/src/coins/generateERC20.d.ts +36 -0
- package/dist/src/coins/generateERC20.d.ts.map +1 -0
- package/dist/src/coins/generateERC20.js +46 -0
- package/dist/src/coins/hoodethTokens.d.ts +2 -0
- package/dist/src/coins/hoodethTokens.d.ts.map +1 -0
- package/dist/src/coins/hoodethTokens.js +319 -0
- package/dist/src/coins/jettonTokens.d.ts +2 -0
- package/dist/src/coins/jettonTokens.d.ts.map +1 -0
- package/dist/src/coins/jettonTokens.js +19 -0
- package/dist/src/coins/nep141Tokens.d.ts +2 -0
- package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
- package/dist/src/coins/nep141Tokens.js +18 -0
- package/dist/src/coins/ofcCoins.d.ts +2 -0
- package/dist/src/coins/ofcCoins.d.ts.map +1 -0
- package/dist/src/coins/ofcCoins.js +1503 -0
- package/dist/src/coins/ofcErc20Coins.d.ts +4 -0
- package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
- package/dist/src/coins/ofcErc20Coins.js +1907 -0
- package/dist/src/coins/ofcHoodethTokens.d.ts +2 -0
- package/dist/src/coins/ofcHoodethTokens.d.ts.map +1 -0
- package/dist/src/coins/ofcHoodethTokens.js +317 -0
- package/dist/src/coins/polygonTokens.d.ts +2 -0
- package/dist/src/coins/polygonTokens.d.ts.map +1 -0
- package/dist/src/coins/polygonTokens.js +220 -0
- package/dist/src/coins/polyxTokens.d.ts +2 -0
- package/dist/src/coins/polyxTokens.d.ts.map +1 -0
- package/dist/src/coins/polyxTokens.js +22 -0
- package/dist/src/coins/sip10Tokens.d.ts +2 -0
- package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
- package/dist/src/coins/sip10Tokens.js +25 -0
- package/dist/src/coins/solTokens.d.ts +3 -0
- package/dist/src/coins/solTokens.d.ts.map +1 -0
- package/dist/src/coins/solTokens.js +538 -0
- package/dist/src/coins/vetTokens.d.ts +2 -0
- package/dist/src/coins/vetTokens.d.ts.map +1 -0
- package/dist/src/coins/vetTokens.js +11 -0
- package/dist/src/coins.d.ts +22 -1
- package/dist/src/coins.d.ts.map +1 -1
- package/dist/src/coins.js +485 -2064
- package/dist/src/constants.d.ts +6 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +8 -2
- package/dist/src/errors.d.ts +15 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +37 -2
- package/dist/src/flrp.d.ts +41 -0
- package/dist/src/flrp.d.ts.map +1 -0
- package/dist/src/flrp.js +66 -0
- package/dist/src/hypeevm.d.ts +28 -0
- package/dist/src/hypeevm.d.ts.map +1 -0
- package/dist/src/hypeevm.js +60 -0
- package/dist/src/index.d.ts +8 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +53 -3
- package/dist/src/kaspa.d.ts +35 -0
- package/dist/src/kaspa.d.ts.map +1 -0
- package/dist/src/kaspa.js +63 -0
- package/dist/src/lightning.d.ts +44 -0
- package/dist/src/lightning.d.ts.map +1 -0
- package/dist/src/lightning.js +64 -0
- package/dist/src/map.d.ts +38 -1
- package/dist/src/map.d.ts.map +1 -1
- package/dist/src/map.js +269 -35
- package/dist/src/networkFeatureMapForTokens.d.ts +30 -0
- package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
- package/dist/src/networkFeatureMapForTokens.js +92 -0
- package/dist/src/networks.d.ts +2065 -72
- package/dist/src/networks.d.ts.map +1 -1
- package/dist/src/networks.js +2532 -108
- package/dist/src/ofc.d.ts +695 -3
- package/dist/src/ofc.d.ts.map +1 -1
- package/dist/src/ofc.js +1653 -28
- package/dist/src/safe.d.ts +22 -0
- package/dist/src/safe.d.ts.map +1 -0
- package/dist/src/safe.js +28 -0
- package/dist/src/tokenConfig.d.ts +718 -114
- package/dist/src/tokenConfig.d.ts.map +1 -1
- package/dist/src/tokenConfig.js +1132 -233
- package/dist/src/utxo.d.ts +7 -2
- package/dist/src/utxo.d.ts.map +1 -1
- package/dist/src/utxo.js +132 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -3
- package/.mocharc.js +0 -10
- package/.prettierignore +0 -2
- package/CHANGELOG.md +0 -1584
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KaspaCoin = void 0;
|
|
4
|
+
exports.kaspa = kaspa;
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
class KaspaCoin extends base_1.BaseCoin {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super({
|
|
9
|
+
...options,
|
|
10
|
+
kind: base_1.CoinKind.CRYPTO,
|
|
11
|
+
isToken: false,
|
|
12
|
+
decimalPlaces: 8,
|
|
13
|
+
baseUnit: base_1.BaseUnit.KASPA,
|
|
14
|
+
});
|
|
15
|
+
this.network = options.network;
|
|
16
|
+
}
|
|
17
|
+
disallowedFeatures() {
|
|
18
|
+
return new Set([base_1.CoinFeature.ACCOUNT_MODEL]);
|
|
19
|
+
}
|
|
20
|
+
requiredFeatures() {
|
|
21
|
+
return new Set([base_1.CoinFeature.UNSPENT_MODEL]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.KaspaCoin = KaspaCoin;
|
|
25
|
+
KaspaCoin.DEFAULT_FEATURES = [
|
|
26
|
+
base_1.CoinFeature.UNSPENT_MODEL,
|
|
27
|
+
base_1.CoinFeature.TSS,
|
|
28
|
+
base_1.CoinFeature.TSS_COLD,
|
|
29
|
+
base_1.CoinFeature.CUSTODY,
|
|
30
|
+
base_1.CoinFeature.CUSTODY_BITGO_TRUST,
|
|
31
|
+
base_1.CoinFeature.CUSTODY_BITGO_INDIA,
|
|
32
|
+
base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
|
|
33
|
+
base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
|
|
34
|
+
base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
|
|
35
|
+
base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
|
|
36
|
+
];
|
|
37
|
+
/**
|
|
38
|
+
* Factory function for Kaspa coin instances.
|
|
39
|
+
*
|
|
40
|
+
* @param id uuid v4
|
|
41
|
+
* @param name unique identifier of the coin
|
|
42
|
+
* @param fullName Complete human-readable name of the coin
|
|
43
|
+
* @param network Network object for this coin
|
|
44
|
+
* @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
|
|
45
|
+
* @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `KaspaCoin`
|
|
46
|
+
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
47
|
+
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
48
|
+
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
49
|
+
*/
|
|
50
|
+
function kaspa(id, name, fullName, network, asset, features = KaspaCoin.DEFAULT_FEATURES, prefix = '', suffix = name.toUpperCase(), primaryKeyCurve = base_1.KeyCurve.Secp256k1) {
|
|
51
|
+
return Object.freeze(new KaspaCoin({
|
|
52
|
+
id,
|
|
53
|
+
name,
|
|
54
|
+
fullName,
|
|
55
|
+
network,
|
|
56
|
+
prefix,
|
|
57
|
+
suffix,
|
|
58
|
+
features,
|
|
59
|
+
asset,
|
|
60
|
+
primaryKeyCurve,
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FzcGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2FzcGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0VBLHNCQXdCQztBQXhGRCxpQ0FBOEY7QUFHOUYsTUFBYSxTQUFVLFNBQVEsZUFBUTtJQWdCckMsWUFBWSxPQVdYO1FBQ0MsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YsSUFBSSxFQUFFLGVBQVEsQ0FBQyxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsYUFBYSxFQUFFLENBQUM7WUFDaEIsUUFBUSxFQUFFLGVBQVEsQ0FBQyxLQUFLO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxrQkFBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsa0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O0FBN0NILDhCQThDQztBQTdDd0IsMEJBQWdCLEdBQUc7SUFDeEMsa0JBQVcsQ0FBQyxhQUFhO0lBQ3pCLGtCQUFXLENBQUMsR0FBRztJQUNmLGtCQUFXLENBQUMsUUFBUTtJQUNwQixrQkFBVyxDQUFDLE9BQU87SUFDbkIsa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyxzQkFBc0I7SUFDbEMsa0JBQVcsQ0FBQyw4QkFBOEI7SUFDMUMsa0JBQVcsQ0FBQyxxQkFBcUI7SUFDakMsa0JBQVcsQ0FBQyx1QkFBdUI7Q0FDcEMsQ0FBQztBQW9DSjs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxTQUFnQixLQUFLLENBQ25CLEVBQVUsRUFDVixJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsT0FBb0MsRUFDcEMsS0FBc0IsRUFDdEIsV0FBMEIsU0FBUyxDQUFDLGdCQUFnQixFQUNwRCxNQUFNLEdBQUcsRUFBRSxFQUNYLFNBQWlCLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFDbkMsa0JBQTRCLGVBQVEsQ0FBQyxTQUFTO0lBRTlDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FDbEIsSUFBSSxTQUFTLENBQUM7UUFDWixFQUFFO1FBQ0YsSUFBSTtRQUNKLFFBQVE7UUFDUixPQUFPO1FBQ1AsTUFBTTtRQUNOLE1BQU07UUFDTixRQUFRO1FBQ1IsS0FBSztRQUNMLGVBQWU7S0FDaEIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4sIEJhc2VVbml0LCBDb2luRmVhdHVyZSwgQ29pbktpbmQsIEtleUN1cnZlLCBVbmRlcmx5aW5nQXNzZXQgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgS2FzcGFNYWlubmV0LCBLYXNwYVRlc3RuZXQgfSBmcm9tICcuL25ldHdvcmtzJztcblxuZXhwb3J0IGNsYXNzIEthc3BhQ29pbiBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0ZFQVRVUkVTID0gW1xuICAgIENvaW5GZWF0dXJlLlVOU1BFTlRfTU9ERUwsXG4gICAgQ29pbkZlYXR1cmUuVFNTLFxuICAgIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICAgIENvaW5GZWF0dXJlLkNVU1RPRFksXG4gICAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19UUlVTVCxcbiAgICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0lORElBLFxuICAgIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTUVOQV9GWkUsXG4gICAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19DVVNUT0RZX01FTkFfRlpFLFxuICAgIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgXTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbmV0d29yazogS2FzcGFNYWlubmV0IHwgS2FzcGFUZXN0bmV0O1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGZ1bGxOYW1lOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG5ldHdvcms6IEthc3BhTWFpbm5ldCB8IEthc3BhVGVzdG5ldDtcbiAgICBmZWF0dXJlczogQ29pbkZlYXR1cmVbXTtcbiAgICBhc3NldDogVW5kZXJseWluZ0Fzc2V0O1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgICBzdWZmaXg/OiBzdHJpbmc7XG4gICAgcHJpbWFyeUtleUN1cnZlOiBLZXlDdXJ2ZTtcbiAgICBiaXA0NENvaW5UeXBlPzogbnVtYmVyO1xuICB9KSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGtpbmQ6IENvaW5LaW5kLkNSWVBUTyxcbiAgICAgIGlzVG9rZW46IGZhbHNlLFxuICAgICAgZGVjaW1hbFBsYWNlczogOCxcbiAgICAgIGJhc2VVbml0OiBCYXNlVW5pdC5LQVNQQSxcbiAgICB9KTtcblxuICAgIHRoaXMubmV0d29yayA9IG9wdGlvbnMubmV0d29yaztcbiAgfVxuXG4gIHByb3RlY3RlZCBkaXNhbGxvd2VkRmVhdHVyZXMoKTogU2V0PENvaW5GZWF0dXJlPiB7XG4gICAgcmV0dXJuIG5ldyBTZXQoW0NvaW5GZWF0dXJlLkFDQ09VTlRfTU9ERUxdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXF1aXJlZEZlYXR1cmVzKCk6IFNldDxDb2luRmVhdHVyZT4ge1xuICAgIHJldHVybiBuZXcgU2V0KFtDb2luRmVhdHVyZS5VTlNQRU5UX01PREVMXSk7XG4gIH1cbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIGZvciBLYXNwYSBjb2luIGluc3RhbmNlcy5cbiAqXG4gKiBAcGFyYW0gaWQgdXVpZCB2NFxuICogQHBhcmFtIG5hbWUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvaW5cbiAqIEBwYXJhbSBmdWxsTmFtZSBDb21wbGV0ZSBodW1hbi1yZWFkYWJsZSBuYW1lIG9mIHRoZSBjb2luXG4gKiBAcGFyYW0gbmV0d29yayBOZXR3b3JrIG9iamVjdCBmb3IgdGhpcyBjb2luXG4gKiBAcGFyYW0gYXNzZXQgQXNzZXQgd2hpY2ggdGhpcyBjb2luIHJlcHJlc2VudHMuIFRoaXMgaXMgdGhlIHNhbWUgZm9yIGJvdGggbWFpbm5ldCBhbmQgdGVzdG5ldCB2YXJpYW50cyBvZiBhIGNvaW4uXG4gKiBAcGFyYW0gZmVhdHVyZXM/IEZlYXR1cmVzIG9mIHRoaXMgY29pbi4gRGVmYXVsdHMgdG8gdGhlIERFRkFVTFRfRkVBVFVSRVMgZGVmaW5lZCBpbiBgS2FzcGFDb2luYFxuICogQHBhcmFtIHByZWZpeD8gT3B0aW9uYWwgY29pbiBwcmVmaXguIERlZmF1bHRzIHRvIGVtcHR5IHN0cmluZ1xuICogQHBhcmFtIHN1ZmZpeD8gT3B0aW9uYWwgY29pbiBzdWZmaXguIERlZmF1bHRzIHRvIGNvaW4gbmFtZS5cbiAqIEBwYXJhbSBwcmltYXJ5S2V5Q3VydmUgVGhlIGVsbGlwdGljIGN1cnZlIGZvciB0aGlzIGNoYWluL3Rva2VuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBrYXNwYShcbiAgaWQ6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBmdWxsTmFtZTogc3RyaW5nLFxuICBuZXR3b3JrOiBLYXNwYU1haW5uZXQgfCBLYXNwYVRlc3RuZXQsXG4gIGFzc2V0OiBVbmRlcmx5aW5nQXNzZXQsXG4gIGZlYXR1cmVzOiBDb2luRmVhdHVyZVtdID0gS2FzcGFDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIHByZWZpeCA9ICcnLFxuICBzdWZmaXg6IHN0cmluZyA9IG5hbWUudG9VcHBlckNhc2UoKSxcbiAgcHJpbWFyeUtleUN1cnZlOiBLZXlDdXJ2ZSA9IEtleUN1cnZlLlNlY3AyNTZrMVxuKSB7XG4gIHJldHVybiBPYmplY3QuZnJlZXplKFxuICAgIG5ldyBLYXNwYUNvaW4oe1xuICAgICAgaWQsXG4gICAgICBuYW1lLFxuICAgICAgZnVsbE5hbWUsXG4gICAgICBuZXR3b3JrLFxuICAgICAgcHJlZml4LFxuICAgICAgc3VmZml4LFxuICAgICAgZmVhdHVyZXMsXG4gICAgICBhc3NldCxcbiAgICAgIHByaW1hcnlLZXlDdXJ2ZSxcbiAgICB9KVxuICApO1xufVxuIl19
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BaseCoin, BaseUnit, CoinFeature, KeyCurve, UnderlyingAsset } from './base';
|
|
2
|
+
import { LightningNetwork } from './networks';
|
|
3
|
+
interface LightningConstructorOptions {
|
|
4
|
+
id: string;
|
|
5
|
+
fullName: string;
|
|
6
|
+
name: string;
|
|
7
|
+
network: LightningNetwork;
|
|
8
|
+
features: CoinFeature[];
|
|
9
|
+
asset: UnderlyingAsset;
|
|
10
|
+
baseUnit: BaseUnit;
|
|
11
|
+
prefix?: string;
|
|
12
|
+
suffix?: string;
|
|
13
|
+
primaryKeyCurve: KeyCurve;
|
|
14
|
+
bip44CoinType?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare class LightningCoin extends BaseCoin {
|
|
17
|
+
static readonly DEFAULT_FEATURES: CoinFeature[];
|
|
18
|
+
/**
|
|
19
|
+
* Additional fields for lightning coins
|
|
20
|
+
*/
|
|
21
|
+
readonly network: LightningNetwork;
|
|
22
|
+
constructor(options: LightningConstructorOptions);
|
|
23
|
+
protected disallowedFeatures(): Set<CoinFeature>;
|
|
24
|
+
protected requiredFeatures(): Set<CoinFeature>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Factory function for lightning coin instances.
|
|
28
|
+
*
|
|
29
|
+
* @param id uuid v4 of the coin
|
|
30
|
+
* @param name unique identifier of the coin
|
|
31
|
+
* @param fullName Complete human-readable name of the coin
|
|
32
|
+
* @param network Network object for this coin
|
|
33
|
+
* @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
|
|
34
|
+
* @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `LightningCoin`
|
|
35
|
+
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
36
|
+
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
37
|
+
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
38
|
+
*/
|
|
39
|
+
export declare function lightning(id: string, name: string, fullName: string, network: LightningNetwork, asset: UnderlyingAsset, baseUnit: BaseUnit, features?: CoinFeature[], prefix?: string, suffix?: string,
|
|
40
|
+
/** All Lightnings BitGo supports are SECP256K1 **/
|
|
41
|
+
primaryKeyCurve?: KeyCurve): Readonly<LightningCoin>;
|
|
42
|
+
export declare const lightningCoins: Readonly<BaseCoin>[];
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=lightning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../src/lightning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAY,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;AAExD,UAAU,2BAA2B;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,QAAQ,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACzC,gBAAuB,gBAAgB,gBAIrC;IAEF;;OAEG;IACH,SAAgB,OAAO,EAAE,gBAAgB,CAAC;gBAE9B,OAAO,EAAE,2BAA2B;IAWhD,SAAS,CAAC,kBAAkB,IAAI,GAAG,CAAC,WAAW,CAAC;IAIhD,SAAS,CAAC,gBAAgB,IAAI,GAAG,CAAC,WAAW,CAAC;CAG/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,GAAE,WAAW,EAAmC,EACxD,MAAM,SAAK,EACX,MAAM,GAAE,MAA2B;AACnC,mDAAmD;AACnD,eAAe,GAAE,QAA6B,2BAgB/C;AAID,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAmB9C,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lightningCoins = exports.LightningCoin = void 0;
|
|
4
|
+
exports.lightning = lightning;
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
const networks_1 = require("./networks");
|
|
7
|
+
class LightningCoin extends base_1.BaseCoin {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
super({
|
|
10
|
+
...options,
|
|
11
|
+
kind: base_1.CoinKind.CRYPTO,
|
|
12
|
+
isToken: false,
|
|
13
|
+
decimalPlaces: 11,
|
|
14
|
+
});
|
|
15
|
+
this.network = options.network;
|
|
16
|
+
}
|
|
17
|
+
disallowedFeatures() {
|
|
18
|
+
return new Set([base_1.CoinFeature.ACCOUNT_MODEL]);
|
|
19
|
+
}
|
|
20
|
+
requiredFeatures() {
|
|
21
|
+
return new Set([base_1.CoinFeature.LIGHTNING_MODEL]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.LightningCoin = LightningCoin;
|
|
25
|
+
LightningCoin.DEFAULT_FEATURES = [
|
|
26
|
+
base_1.CoinFeature.LIGHTNING_MODEL,
|
|
27
|
+
base_1.CoinFeature.CUSTODY,
|
|
28
|
+
base_1.CoinFeature.CUSTODY_BITGO_TRUST,
|
|
29
|
+
];
|
|
30
|
+
/**
|
|
31
|
+
* Factory function for lightning coin instances.
|
|
32
|
+
*
|
|
33
|
+
* @param id uuid v4 of the coin
|
|
34
|
+
* @param name unique identifier of the coin
|
|
35
|
+
* @param fullName Complete human-readable name of the coin
|
|
36
|
+
* @param network Network object for this coin
|
|
37
|
+
* @param asset Asset which this coin represents. This is the same for both mainnet and testnet variants of a coin.
|
|
38
|
+
* @param features? Features of this coin. Defaults to the DEFAULT_FEATURES defined in `LightningCoin`
|
|
39
|
+
* @param prefix? Optional coin prefix. Defaults to empty string
|
|
40
|
+
* @param suffix? Optional coin suffix. Defaults to coin name.
|
|
41
|
+
* @param primaryKeyCurve The elliptic curve for this chain/token
|
|
42
|
+
*/
|
|
43
|
+
function lightning(id, name, fullName, network, asset, baseUnit, features = LightningCoin.DEFAULT_FEATURES, prefix = '', suffix = name.toUpperCase(),
|
|
44
|
+
/** All Lightnings BitGo supports are SECP256K1 **/
|
|
45
|
+
primaryKeyCurve = base_1.KeyCurve.Secp256k1) {
|
|
46
|
+
return Object.freeze(new LightningCoin({
|
|
47
|
+
id,
|
|
48
|
+
name,
|
|
49
|
+
fullName,
|
|
50
|
+
network,
|
|
51
|
+
prefix,
|
|
52
|
+
suffix,
|
|
53
|
+
features,
|
|
54
|
+
asset,
|
|
55
|
+
primaryKeyCurve,
|
|
56
|
+
baseUnit,
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
const LNBTC_FEATURES = [...LightningCoin.DEFAULT_FEATURES, base_1.CoinFeature.STAKING];
|
|
60
|
+
exports.lightningCoins = [
|
|
61
|
+
lightning('051aab40-efbc-4f58-9506-14cc95369e0a', 'lnbtc', 'Lightning Bitcoin', networks_1.Networks.main.lnbtc, base_1.UnderlyingAsset.BTC, base_1.BaseUnit.LNBTC, LNBTC_FEATURES),
|
|
62
|
+
lightning('3cbabaa7-a063-4db3-b3a8-ea8cc38033e5', 'tlnbtc', 'Testnet Lightning Bitcoin', networks_1.Networks.test.lnbtc, base_1.UnderlyingAsset.BTC, base_1.BaseUnit.LNBTC, LNBTC_FEATURES),
|
|
63
|
+
];
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpZ2h0bmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE4REEsOEJBMkJDO0FBekZELGlDQUE4RjtBQUM5Rix5Q0FBd0Q7QUFnQnhELE1BQWEsYUFBYyxTQUFRLGVBQVE7SUFZekMsWUFBWSxPQUFvQztRQUM5QyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsZUFBUSxDQUFDLE1BQU07WUFDckIsT0FBTyxFQUFFLEtBQUs7WUFDZCxhQUFhLEVBQUUsRUFBRTtTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVTLGtCQUFrQjtRQUMxQixPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsa0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGtCQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDOztBQTdCSCxzQ0E4QkM7QUE3QndCLDhCQUFnQixHQUFHO0lBQ3hDLGtCQUFXLENBQUMsZUFBZTtJQUMzQixrQkFBVyxDQUFDLE9BQU87SUFDbkIsa0JBQVcsQ0FBQyxtQkFBbUI7Q0FDaEMsQ0FBQztBQTJCSjs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxTQUFnQixTQUFTLENBQ3ZCLEVBQVUsRUFDVixJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsT0FBeUIsRUFDekIsS0FBc0IsRUFDdEIsUUFBa0IsRUFDbEIsV0FBMEIsYUFBYSxDQUFDLGdCQUFnQixFQUN4RCxNQUFNLEdBQUcsRUFBRSxFQUNYLFNBQWlCLElBQUksQ0FBQyxXQUFXLEVBQUU7QUFDbkMsbURBQW1EO0FBQ25ELGtCQUE0QixlQUFRLENBQUMsU0FBUztJQUU5QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLElBQUksYUFBYSxDQUFDO1FBQ2hCLEVBQUU7UUFDRixJQUFJO1FBQ0osUUFBUTtRQUNSLE9BQU87UUFDUCxNQUFNO1FBQ04sTUFBTTtRQUNOLFFBQVE7UUFDUixLQUFLO1FBQ0wsZUFBZTtRQUNmLFFBQVE7S0FDVCxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixFQUFFLGtCQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFbkUsUUFBQSxjQUFjLEdBQXlCO0lBQ2xELFNBQVMsQ0FDUCxzQ0FBc0MsRUFDdEMsT0FBTyxFQUNQLG1CQUFtQixFQUNuQixtQkFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQ25CLHNCQUFlLENBQUMsR0FBRyxFQUNuQixlQUFRLENBQUMsS0FBSyxFQUNkLGNBQWMsQ0FDZjtJQUNELFNBQVMsQ0FDUCxzQ0FBc0MsRUFDdEMsUUFBUSxFQUNSLDJCQUEyQixFQUMzQixtQkFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQ25CLHNCQUFlLENBQUMsR0FBRyxFQUNuQixlQUFRLENBQUMsS0FBSyxFQUNkLGNBQWMsQ0FDZjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiwgQmFzZVVuaXQsIENvaW5GZWF0dXJlLCBDb2luS2luZCwgS2V5Q3VydmUsIFVuZGVybHlpbmdBc3NldCB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBMaWdodG5pbmdOZXR3b3JrLCBOZXR3b3JrcyB9IGZyb20gJy4vbmV0d29ya3MnO1xuXG5pbnRlcmZhY2UgTGlnaHRuaW5nQ29uc3RydWN0b3JPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbiAgZnVsbE5hbWU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBuZXR3b3JrOiBMaWdodG5pbmdOZXR3b3JrO1xuICBmZWF0dXJlczogQ29pbkZlYXR1cmVbXTtcbiAgYXNzZXQ6IFVuZGVybHlpbmdBc3NldDtcbiAgYmFzZVVuaXQ6IEJhc2VVbml0O1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgcHJpbWFyeUtleUN1cnZlOiBLZXlDdXJ2ZTtcbiAgYmlwNDRDb2luVHlwZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIExpZ2h0bmluZ0NvaW4gZXh0ZW5kcyBCYXNlQ29pbiB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9GRUFUVVJFUyA9IFtcbiAgICBDb2luRmVhdHVyZS5MSUdIVE5JTkdfTU9ERUwsXG4gICAgQ29pbkZlYXR1cmUuQ1VTVE9EWSxcbiAgICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1RSVVNULFxuICBdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGZpZWxkcyBmb3IgbGlnaHRuaW5nIGNvaW5zXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbmV0d29yazogTGlnaHRuaW5nTmV0d29yaztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBMaWdodG5pbmdDb25zdHJ1Y3Rvck9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAga2luZDogQ29pbktpbmQuQ1JZUFRPLFxuICAgICAgaXNUb2tlbjogZmFsc2UsXG4gICAgICBkZWNpbWFsUGxhY2VzOiAxMSxcbiAgICB9KTtcblxuICAgIHRoaXMubmV0d29yayA9IG9wdGlvbnMubmV0d29yaztcbiAgfVxuXG4gIHByb3RlY3RlZCBkaXNhbGxvd2VkRmVhdHVyZXMoKTogU2V0PENvaW5GZWF0dXJlPiB7XG4gICAgcmV0dXJuIG5ldyBTZXQoW0NvaW5GZWF0dXJlLkFDQ09VTlRfTU9ERUxdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXF1aXJlZEZlYXR1cmVzKCk6IFNldDxDb2luRmVhdHVyZT4ge1xuICAgIHJldHVybiBuZXcgU2V0KFtDb2luRmVhdHVyZS5MSUdIVE5JTkdfTU9ERUxdKTtcbiAgfVxufVxuXG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gZm9yIGxpZ2h0bmluZyBjb2luIGluc3RhbmNlcy5cbiAqXG4gKiBAcGFyYW0gaWQgdXVpZCB2NCBvZiB0aGUgY29pblxuICogQHBhcmFtIG5hbWUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvaW5cbiAqIEBwYXJhbSBmdWxsTmFtZSBDb21wbGV0ZSBodW1hbi1yZWFkYWJsZSBuYW1lIG9mIHRoZSBjb2luXG4gKiBAcGFyYW0gbmV0d29yayBOZXR3b3JrIG9iamVjdCBmb3IgdGhpcyBjb2luXG4gKiBAcGFyYW0gYXNzZXQgQXNzZXQgd2hpY2ggdGhpcyBjb2luIHJlcHJlc2VudHMuIFRoaXMgaXMgdGhlIHNhbWUgZm9yIGJvdGggbWFpbm5ldCBhbmQgdGVzdG5ldCB2YXJpYW50cyBvZiBhIGNvaW4uXG4gKiBAcGFyYW0gZmVhdHVyZXM/IEZlYXR1cmVzIG9mIHRoaXMgY29pbi4gRGVmYXVsdHMgdG8gdGhlIERFRkFVTFRfRkVBVFVSRVMgZGVmaW5lZCBpbiBgTGlnaHRuaW5nQ29pbmBcbiAqIEBwYXJhbSBwcmVmaXg/IE9wdGlvbmFsIGNvaW4gcHJlZml4LiBEZWZhdWx0cyB0byBlbXB0eSBzdHJpbmdcbiAqIEBwYXJhbSBzdWZmaXg/IE9wdGlvbmFsIGNvaW4gc3VmZml4LiBEZWZhdWx0cyB0byBjb2luIG5hbWUuXG4gKiBAcGFyYW0gcHJpbWFyeUtleUN1cnZlIFRoZSBlbGxpcHRpYyBjdXJ2ZSBmb3IgdGhpcyBjaGFpbi90b2tlblxuICovXG5leHBvcnQgZnVuY3Rpb24gbGlnaHRuaW5nKFxuICBpZDogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIGZ1bGxOYW1lOiBzdHJpbmcsXG4gIG5ldHdvcms6IExpZ2h0bmluZ05ldHdvcmssXG4gIGFzc2V0OiBVbmRlcmx5aW5nQXNzZXQsXG4gIGJhc2VVbml0OiBCYXNlVW5pdCxcbiAgZmVhdHVyZXM6IENvaW5GZWF0dXJlW10gPSBMaWdodG5pbmdDb2luLkRFRkFVTFRfRkVBVFVSRVMsXG4gIHByZWZpeCA9ICcnLFxuICBzdWZmaXg6IHN0cmluZyA9IG5hbWUudG9VcHBlckNhc2UoKSxcbiAgLyoqIEFsbCBMaWdodG5pbmdzIEJpdEdvIHN1cHBvcnRzIGFyZSBTRUNQMjU2SzEgKiovXG4gIHByaW1hcnlLZXlDdXJ2ZTogS2V5Q3VydmUgPSBLZXlDdXJ2ZS5TZWNwMjU2azFcbikge1xuICByZXR1cm4gT2JqZWN0LmZyZWV6ZShcbiAgICBuZXcgTGlnaHRuaW5nQ29pbih7XG4gICAgICBpZCxcbiAgICAgIG5hbWUsXG4gICAgICBmdWxsTmFtZSxcbiAgICAgIG5ldHdvcmssXG4gICAgICBwcmVmaXgsXG4gICAgICBzdWZmaXgsXG4gICAgICBmZWF0dXJlcyxcbiAgICAgIGFzc2V0LFxuICAgICAgcHJpbWFyeUtleUN1cnZlLFxuICAgICAgYmFzZVVuaXQsXG4gICAgfSlcbiAgKTtcbn1cblxuY29uc3QgTE5CVENfRkVBVFVSRVMgPSBbLi4uTGlnaHRuaW5nQ29pbi5ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5TVEFLSU5HXTtcblxuZXhwb3J0IGNvbnN0IGxpZ2h0bmluZ0NvaW5zOiBSZWFkb25seTxCYXNlQ29pbj5bXSA9IFtcbiAgbGlnaHRuaW5nKFxuICAgICcwNTFhYWI0MC1lZmJjLTRmNTgtOTUwNi0xNGNjOTUzNjllMGEnLFxuICAgICdsbmJ0YycsXG4gICAgJ0xpZ2h0bmluZyBCaXRjb2luJyxcbiAgICBOZXR3b3Jrcy5tYWluLmxuYnRjLFxuICAgIFVuZGVybHlpbmdBc3NldC5CVEMsXG4gICAgQmFzZVVuaXQuTE5CVEMsXG4gICAgTE5CVENfRkVBVFVSRVNcbiAgKSxcbiAgbGlnaHRuaW5nKFxuICAgICczY2JhYmFhNy1hMDYzLTRkYjMtYjNhOC1lYThjYzM4MDMzZTUnLFxuICAgICd0bG5idGMnLFxuICAgICdUZXN0bmV0IExpZ2h0bmluZyBCaXRjb2luJyxcbiAgICBOZXR3b3Jrcy50ZXN0LmxuYnRjLFxuICAgIFVuZGVybHlpbmdBc3NldC5CVEMsXG4gICAgQmFzZVVuaXQuTE5CVEMsXG4gICAgTE5CVENfRkVBVFVSRVNcbiAgKSxcbl07XG4iXX0=
|
package/dist/src/map.d.ts
CHANGED
|
@@ -3,9 +3,38 @@ export declare class CoinMap {
|
|
|
3
3
|
private readonly _map;
|
|
4
4
|
private readonly _coinByIds;
|
|
5
5
|
private readonly _coinByAliases;
|
|
6
|
+
private readonly _coinByContractAddress;
|
|
7
|
+
private readonly _coinByNftCollectionID;
|
|
8
|
+
private _coinByChainId;
|
|
6
9
|
private constructor();
|
|
10
|
+
private static contractAddressKey;
|
|
11
|
+
private static nftCollectionIdKey;
|
|
12
|
+
/**
|
|
13
|
+
* Whether a different token with the same contract address (or NFT collection id) is already
|
|
14
|
+
* registered. Token identity in the map is keyed by name/id/alias, but a token also claims a
|
|
15
|
+
* contract-address key (`family:contractAddress`) and, for NFTs, a collection-id key. Two tokens
|
|
16
|
+
* that share such a key but differ in name cannot coexist — `addCoin` throws on the second.
|
|
17
|
+
* Callers merging externally-sourced tokens use this to skip a colliding token rather than crash.
|
|
18
|
+
*/
|
|
19
|
+
hasTokenAddressConflict(coin: Readonly<BaseCoin>): boolean;
|
|
7
20
|
static fromCoins(coins: Readonly<BaseCoin>[]): CoinMap;
|
|
8
|
-
|
|
21
|
+
addCoin(coin: Readonly<BaseCoin>): void;
|
|
22
|
+
/**
|
|
23
|
+
* Replace a coin (token or base coin) in the CoinMap with a new object carrying refreshed modifiable
|
|
24
|
+
* fields. The existing record is looked up by id, and the swap only happens when its immutable fields
|
|
25
|
+
* (id, name, contract address and alias) are unchanged. Anything else throws before the map
|
|
26
|
+
* is touched. Coins that are not in the map yet are added.
|
|
27
|
+
* @param {Readonly<BaseCoin>} coin new coin object
|
|
28
|
+
* @throws {CoinReplacementNotAllowedError} when an immutable field differs from the existing record
|
|
29
|
+
*/
|
|
30
|
+
replace(coin: Readonly<BaseCoin>): void;
|
|
31
|
+
private static assertImmutableFieldsUnchanged;
|
|
32
|
+
/**
|
|
33
|
+
* Hardcoded mapping for backward compatibility.
|
|
34
|
+
*/
|
|
35
|
+
private static readonly LEGACY_CHAIN_ID_MAP;
|
|
36
|
+
private buildChainIdMap;
|
|
37
|
+
coinNameFromChainId(chainId: number): string | undefined;
|
|
9
38
|
/**
|
|
10
39
|
* Override `get` to throw if a coin is missing, instead of returning undefined.
|
|
11
40
|
* It will honor key equivalences in case given key is missing.
|
|
@@ -13,6 +42,14 @@ export declare class CoinMap {
|
|
|
13
42
|
* @return {BaseCoin}
|
|
14
43
|
*/
|
|
15
44
|
get(key: string): Readonly<BaseCoin>;
|
|
45
|
+
/**
|
|
46
|
+
* Safe accessor that returns undefined instead of throwing when a coin is not found.
|
|
47
|
+
* Prefer this over `get` at call sites where the coin name is not guaranteed to be
|
|
48
|
+
* registered — it makes the missing-coin case explicit in the type system.
|
|
49
|
+
* @param {string} key
|
|
50
|
+
* @return {BaseCoin | undefined}
|
|
51
|
+
*/
|
|
52
|
+
getOrUndefined(key: string): Readonly<BaseCoin> | undefined;
|
|
16
53
|
has(key: string): boolean;
|
|
17
54
|
map<T>(mapper: (coin: Readonly<BaseCoin>, coinName: string) => T): T[];
|
|
18
55
|
reduce<T>(reducer: (acc: T, coin: Readonly<BaseCoin>, coinName: string) => T, initialValue: T): T;
|
package/dist/src/map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAYlC,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAGxE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyC;IAEhF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyC;IAEhF,OAAO,CAAC,cAAc,CAAoC;IAE1D,OAAO;IAIP,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC;;;;;;OAMG;IACI,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO;IAcjE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO;IAQ/C,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IA0C9C;;;;;;;OAOG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAkB9C,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAiB7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAiGzC;IAEF,OAAO,CAAC,eAAe;IAkBhB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAY/D;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAQ3C;;;;;;OAMG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS;IAU3D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUzB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAQtE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAQjG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAUnF,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI7E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;CAG3E"}
|