@amadeus-protocol/sdk 1.0.7 → 1.1.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/dist/api/chain.d.ts +144 -117
- package/dist/api/chain.d.ts.map +1 -1
- package/dist/api/chain.js +175 -146
- package/dist/api/chain.js.map +1 -1
- package/dist/api/contract.d.ts +78 -60
- package/dist/api/contract.d.ts.map +1 -1
- package/dist/api/contract.js +102 -75
- package/dist/api/contract.js.map +1 -1
- package/dist/api/epoch.d.ts +65 -66
- package/dist/api/epoch.d.ts.map +1 -1
- package/dist/api/epoch.js +90 -98
- package/dist/api/epoch.js.map +1 -1
- package/dist/api/peer.d.ts +77 -78
- package/dist/api/peer.d.ts.map +1 -1
- package/dist/api/peer.js +93 -94
- package/dist/api/peer.js.map +1 -1
- package/dist/api/proof.d.ts +44 -23
- package/dist/api/proof.d.ts.map +1 -1
- package/dist/api/proof.js +56 -29
- package/dist/api/proof.js.map +1 -1
- package/dist/api/transaction.d.ts +68 -69
- package/dist/api/transaction.d.ts.map +1 -1
- package/dist/api/transaction.js +84 -84
- package/dist/api/transaction.js.map +1 -1
- package/dist/api/wallet.d.ts +36 -37
- package/dist/api/wallet.d.ts.map +1 -1
- package/dist/api/wallet.js +47 -50
- package/dist/api/wallet.js.map +1 -1
- package/dist/client.d.ts +66 -68
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +231 -276
- package/dist/client.js.map +1 -1
- package/dist/constants.d.ts +13 -10
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +49 -45
- package/dist/constants.js.map +1 -1
- package/dist/contract-state.d.ts +6 -3
- package/dist/contract-state.d.ts.map +1 -1
- package/dist/contract-state.js +88 -106
- package/dist/contract-state.js.map +1 -1
- package/dist/contracts/abi-types.d.ts +32 -32
- package/dist/contracts/abi-types.d.ts.map +1 -1
- package/dist/contracts/coin.d.ts +13 -20
- package/dist/contracts/coin.d.ts.map +1 -1
- package/dist/contracts/coin.js +42 -38
- package/dist/contracts/coin.js.map +1 -1
- package/dist/contracts/contract-call.d.ts +14 -16
- package/dist/contracts/contract-call.d.ts.map +1 -1
- package/dist/contracts/contract-call.js +45 -54
- package/dist/contracts/contract-call.js.map +1 -1
- package/dist/contracts/contract.d.ts +24 -55
- package/dist/contracts/contract.d.ts.map +1 -1
- package/dist/contracts/contract.js +63 -101
- package/dist/contracts/contract.js.map +1 -1
- package/dist/contracts/lockup/abi.d.ts +54 -51
- package/dist/contracts/lockup/abi.d.ts.map +1 -1
- package/dist/contracts/lockup/abi.js +65 -74
- package/dist/contracts/lockup/abi.js.map +1 -1
- package/dist/contracts/lockup/helpers.d.ts +22 -18
- package/dist/contracts/lockup/helpers.d.ts.map +1 -1
- package/dist/contracts/lockup/helpers.js +44 -47
- package/dist/contracts/lockup/helpers.js.map +1 -1
- package/dist/contracts/lockup/parsers.d.ts +7 -3
- package/dist/contracts/lockup/parsers.d.ts.map +1 -1
- package/dist/contracts/lockup/parsers.js +51 -55
- package/dist/contracts/lockup/parsers.js.map +1 -1
- package/dist/contracts/lockup/storage-keys.d.ts +5 -2
- package/dist/contracts/lockup/storage-keys.d.ts.map +1 -1
- package/dist/contracts/lockup/storage-keys.js +54 -70
- package/dist/contracts/lockup/storage-keys.js.map +1 -1
- package/dist/contracts/lockup/types.d.ts +73 -70
- package/dist/contracts/lockup/types.d.ts.map +1 -1
- package/dist/contracts/lockup-prime/abi.d.ts +328 -325
- package/dist/contracts/lockup-prime/abi.d.ts.map +1 -1
- package/dist/contracts/lockup-prime/abi.js +397 -417
- package/dist/contracts/lockup-prime/abi.js.map +1 -1
- package/dist/contracts/lockup-prime/helpers.d.ts +35 -31
- package/dist/contracts/lockup-prime/helpers.d.ts.map +1 -1
- package/dist/contracts/lockup-prime/helpers.js +131 -137
- package/dist/contracts/lockup-prime/helpers.js.map +1 -1
- package/dist/contracts/lockup-prime/parsers.d.ts +9 -5
- package/dist/contracts/lockup-prime/parsers.d.ts.map +1 -1
- package/dist/contracts/lockup-prime/parsers.js +61 -61
- package/dist/contracts/lockup-prime/parsers.js.map +1 -1
- package/dist/contracts/lockup-prime/storage-keys.d.ts +7 -4
- package/dist/contracts/lockup-prime/storage-keys.d.ts.map +1 -1
- package/dist/contracts/lockup-prime/storage-keys.js +64 -80
- package/dist/contracts/lockup-prime/storage-keys.js.map +1 -1
- package/dist/contracts/lockup-prime/types.d.ts +92 -89
- package/dist/contracts/lockup-prime/types.d.ts.map +1 -1
- package/dist/contracts/lockup-prime/types.js +12 -13
- package/dist/contracts/lockup-prime/types.js.map +1 -1
- package/dist/contracts/nft/abi.d.ts +104 -0
- package/dist/contracts/nft/abi.d.ts.map +1 -0
- package/dist/contracts/nft/abi.js +135 -0
- package/dist/contracts/nft/abi.js.map +1 -0
- package/dist/contracts/nft/helpers.d.ts +21 -0
- package/dist/contracts/nft/helpers.d.ts.map +1 -0
- package/dist/contracts/nft/helpers.js +61 -0
- package/dist/contracts/nft/helpers.js.map +1 -0
- package/dist/contracts/nft/types.d.ts +47 -0
- package/dist/contracts/nft/types.d.ts.map +1 -0
- package/dist/conversion.d.ts +5 -2
- package/dist/conversion.d.ts.map +1 -1
- package/dist/conversion.js +45 -50
- package/dist/conversion.js.map +1 -1
- package/dist/crypto.d.ts +14 -16
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +121 -140
- package/dist/crypto.js.map +1 -1
- package/dist/encoding.d.ts +11 -8
- package/dist/encoding.d.ts.map +1 -1
- package/dist/encoding.js +123 -144
- package/dist/encoding.js.map +1 -1
- package/dist/encryption.d.ts +15 -12
- package/dist/encryption.d.ts.map +1 -1
- package/dist/encryption.js +119 -117
- package/dist/encryption.js.map +1 -1
- package/dist/explorer.d.ts +10 -7
- package/dist/explorer.d.ts.map +1 -1
- package/dist/explorer.js +51 -48
- package/dist/explorer.js.map +1 -1
- package/dist/formatters.d.ts +8 -5
- package/dist/formatters.d.ts.map +1 -1
- package/dist/formatters.js +67 -68
- package/dist/formatters.js.map +1 -1
- package/dist/index.d.ts +42 -54
- package/dist/index.js +39 -54
- package/dist/mnemonic.d.ts +99 -0
- package/dist/mnemonic.d.ts.map +1 -0
- package/dist/mnemonic.js +119 -0
- package/dist/mnemonic.js.map +1 -0
- package/dist/networks.d.ts +14 -17
- package/dist/networks.d.ts.map +1 -1
- package/dist/networks.js +40 -36
- package/dist/networks.js.map +1 -1
- package/dist/schemas.js +75 -79
- package/dist/schemas.js.map +1 -1
- package/dist/sdk.d.ts +69 -65
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +126 -117
- package/dist/sdk.js.map +1 -1
- package/dist/serialization.d.ts +8 -18
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +207 -260
- package/dist/serialization.js.map +1 -1
- package/dist/signing.js +67 -67
- package/dist/signing.js.map +1 -1
- package/dist/transaction-builder.d.ts +175 -184
- package/dist/transaction-builder.d.ts.map +1 -1
- package/dist/transaction-builder.js +295 -344
- package/dist/transaction-builder.js.map +1 -1
- package/dist/transaction-errors.d.ts +10 -12
- package/dist/transaction-errors.d.ts.map +1 -1
- package/dist/transaction-errors.js +145 -166
- package/dist/transaction-errors.js.map +1 -1
- package/dist/types.d.ts +530 -450
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +169 -183
- package/dist/types.js.map +1 -1
- package/dist/validation.d.ts +24 -26
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +194 -192
- package/dist/validation.js.map +1 -1
- package/package.json +5 -3
- package/dist/api/index.d.ts +0 -8
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -8
- package/dist/api/index.js.map +0 -1
- package/dist/contracts/abi-types.js +0 -8
- package/dist/contracts/abi-types.js.map +0 -1
- package/dist/contracts/index.d.ts +0 -7
- package/dist/contracts/index.d.ts.map +0 -1
- package/dist/contracts/index.js +0 -7
- package/dist/contracts/index.js.map +0 -1
- package/dist/contracts/lockup/calls.d.ts +0 -23
- package/dist/contracts/lockup/calls.d.ts.map +0 -1
- package/dist/contracts/lockup/calls.js +0 -25
- package/dist/contracts/lockup/calls.js.map +0 -1
- package/dist/contracts/lockup/index.d.ts +0 -6
- package/dist/contracts/lockup/index.d.ts.map +0 -1
- package/dist/contracts/lockup/index.js +0 -6
- package/dist/contracts/lockup/index.js.map +0 -1
- package/dist/contracts/lockup/types.js +0 -7
- package/dist/contracts/lockup/types.js.map +0 -1
- package/dist/contracts/lockup-prime/calls.d.ts +0 -53
- package/dist/contracts/lockup-prime/calls.d.ts.map +0 -1
- package/dist/contracts/lockup-prime/calls.js +0 -60
- package/dist/contracts/lockup-prime/calls.js.map +0 -1
- package/dist/contracts/lockup-prime/index.d.ts +0 -6
- package/dist/contracts/lockup-prime/index.d.ts.map +0 -1
- package/dist/contracts/lockup-prime/index.js +0 -6
- package/dist/contracts/lockup-prime/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/schemas.d.ts +0 -67
- package/dist/schemas.d.ts.map +0 -1
- package/dist/signing.d.ts +0 -39
- package/dist/signing.d.ts.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,54 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
export
|
|
40
|
-
export * from './contract-state';
|
|
41
|
-
export * from './crypto';
|
|
42
|
-
export * from './conversion';
|
|
43
|
-
export * from './encoding';
|
|
44
|
-
export * from './encryption';
|
|
45
|
-
export * from './validation';
|
|
46
|
-
export * from './formatters';
|
|
47
|
-
export * from './explorer';
|
|
48
|
-
export * from './transaction-errors';
|
|
49
|
-
export * from './transaction-builder';
|
|
50
|
-
export * from './client';
|
|
51
|
-
export * from './api';
|
|
52
|
-
export * from './sdk';
|
|
53
|
-
export * from './contracts';
|
|
54
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import { AmadeusSDKError, Contract, ContractFunction, TransactionEventType, TransactionExecutionError, TransactionValidationError } from "./types.js";
|
|
2
|
+
import { AMADEUS_PUBLIC_KEY_BYTE_LENGTH, AMADEUS_SEED_BYTE_LENGTH, AMA_TOKEN_DECIMALS, AMA_TOKEN_DECIMALS_MULTIPLIER, AMA_TRANSFER_FEE, DEFAULT_TIMEOUT, EXPLORER_URL, MIN_TRANSFERABLE_AMOUNT, NODE_API_URL, SDK_VERSION } from "./constants.js";
|
|
3
|
+
import { NETWORK_CONFIGS, NETWORK_EXPLORER_URLS, NETWORK_URLS, NetworkType, TESTNET_FAUCET_URL } from "./networks.js";
|
|
4
|
+
import { decode, decodeContractState, encode } from "./serialization.js";
|
|
5
|
+
import { arrayBufferToBase64, arrayBufferToUint8Array, base64ToArrayBuffer, base64ToUint8Array, fromBase58, toBase58, uint8ArrayToArrayBuffer, uint8ArrayToBase64 } from "./encoding.js";
|
|
6
|
+
import { decodeContractStateToBase64, parseStateNumber, parseStateString } from "./contract-state.js";
|
|
7
|
+
import { derivePublicKeyFromSeedBase58, deriveSkAndSeed64FromBase58Seed, generateKeypair, generatePrivateKey, getPublicKey, reduce512To256LE, seed64ToKeypair } from "./crypto.js";
|
|
8
|
+
import { fromAtomicAma, toAtomicAma } from "./conversion.js";
|
|
9
|
+
import { decryptWithPassword, deriveKey, encryptWithPassword, generateIV, generateSalt } from "./encryption.js";
|
|
10
|
+
import { decodeVaultSecret, detectInputType, encodeVaultSecret, generateMnemonic, mnemonicToSeedBase58, validateMnemonic } from "./mnemonic.js";
|
|
11
|
+
import { isValidAddress, isValidAmount, isValidSeed, validate, validateAddress, validateAmount, validatePassword, validateSeed, validateTokenSymbol } from "./validation.js";
|
|
12
|
+
import { formatAMAAmount, formatBalance, formatBalanceWithPrivacy, formatNumber, formatShortAddress } from "./formatters.js";
|
|
13
|
+
import { ExplorerType, makeAddressUrl, makeExplorerUrl, makeTransactionUrl } from "./explorer.js";
|
|
14
|
+
import { TRANSACTION_EXECUTION_ERROR_MESSAGES, TRANSACTION_VALIDATION_ERROR_MESSAGES, getExecutionErrorMessage, getTransactionErrorMessage, getValidationErrorMessage } from "./transaction-errors.js";
|
|
15
|
+
import { buildContractCall } from "./contracts/contract-call.js";
|
|
16
|
+
import { createContract } from "./contracts/contract.js";
|
|
17
|
+
import { buildCoinTransfer } from "./contracts/coin.js";
|
|
18
|
+
import { LOCKUP_PRIME_ABI } from "./contracts/lockup-prime/abi.js";
|
|
19
|
+
import { LOCKUP_ABI } from "./contracts/lockup/abi.js";
|
|
20
|
+
import { buildNftCreateCollection, buildNftMint, buildNftTransfer } from "./contracts/nft/helpers.js";
|
|
21
|
+
import { TransactionBuilder } from "./transaction-builder.js";
|
|
22
|
+
import { AmadeusClient } from "./client.js";
|
|
23
|
+
import { ChainAPI } from "./api/chain.js";
|
|
24
|
+
import { ContractAPI } from "./api/contract.js";
|
|
25
|
+
import { EpochAPI } from "./api/epoch.js";
|
|
26
|
+
import { PeerAPI } from "./api/peer.js";
|
|
27
|
+
import { ProofAPI } from "./api/proof.js";
|
|
28
|
+
import { TransactionAPI } from "./api/transaction.js";
|
|
29
|
+
import { WalletAPI } from "./api/wallet.js";
|
|
30
|
+
import { AmadeusSDK } from "./sdk.js";
|
|
31
|
+
import { LOCKUP_PRIME_TIER_KEYS, isValidLockupPrimeTierKey } from "./contracts/lockup-prime/types.js";
|
|
32
|
+
import { LockupPrime, RATE_MAP } from "./contracts/lockup-prime/helpers.js";
|
|
33
|
+
import { parseContractStateNumber, parseRawVaultData, parseVaultData } from "./contracts/lockup-prime/parsers.js";
|
|
34
|
+
import { buildDailyStreakKey, buildLockupPrimeVaultKeyPrefix, buildNextCheckinEpochKey, extractLockupPrimeVaultIndexFromKey } from "./contracts/lockup-prime/storage-keys.js";
|
|
35
|
+
import { Lockup } from "./contracts/lockup/helpers.js";
|
|
36
|
+
import { parseLockupVaultData, parseRawLockupVaultData } from "./contracts/lockup/parsers.js";
|
|
37
|
+
import { buildLockupVaultKeyPrefix, extractLockupVaultIndexFromKey } from "./contracts/lockup/storage-keys.js";
|
|
38
|
+
import { NFT_ABI } from "./contracts/nft/abi.js";
|
|
39
|
+
export { AMADEUS_PUBLIC_KEY_BYTE_LENGTH, AMADEUS_SEED_BYTE_LENGTH, AMA_TOKEN_DECIMALS, AMA_TOKEN_DECIMALS_MULTIPLIER, AMA_TRANSFER_FEE, AmadeusClient, AmadeusSDK, AmadeusSDKError, ChainAPI, Contract, ContractAPI, ContractFunction, DEFAULT_TIMEOUT, EXPLORER_URL, EpochAPI, ExplorerType, LOCKUP_ABI, LOCKUP_PRIME_ABI, LOCKUP_PRIME_TIER_KEYS, Lockup, LockupPrime, MIN_TRANSFERABLE_AMOUNT, NETWORK_CONFIGS, NETWORK_EXPLORER_URLS, NETWORK_URLS, NFT_ABI, NODE_API_URL, NetworkType, PeerAPI, ProofAPI, RATE_MAP, SDK_VERSION, TESTNET_FAUCET_URL, TRANSACTION_EXECUTION_ERROR_MESSAGES, TRANSACTION_VALIDATION_ERROR_MESSAGES, TransactionAPI, TransactionBuilder, TransactionEventType, TransactionExecutionError, TransactionValidationError, WalletAPI, arrayBufferToBase64, arrayBufferToUint8Array, base64ToArrayBuffer, base64ToUint8Array, buildCoinTransfer, buildContractCall, buildDailyStreakKey, buildLockupPrimeVaultKeyPrefix, buildLockupVaultKeyPrefix, buildNextCheckinEpochKey, buildNftCreateCollection, buildNftMint, buildNftTransfer, createContract, decode, decodeContractState, decodeContractStateToBase64, decodeVaultSecret, decryptWithPassword, deriveKey, derivePublicKeyFromSeedBase58, deriveSkAndSeed64FromBase58Seed, detectInputType, encode, encodeVaultSecret, encryptWithPassword, extractLockupPrimeVaultIndexFromKey, extractLockupVaultIndexFromKey, formatAMAAmount, formatBalance, formatBalanceWithPrivacy, formatNumber, formatShortAddress, fromAtomicAma, fromBase58, generateIV, generateKeypair, generateMnemonic, generatePrivateKey, generateSalt, getExecutionErrorMessage, getPublicKey, getTransactionErrorMessage, getValidationErrorMessage, isValidAddress, isValidAmount, isValidLockupPrimeTierKey, isValidSeed, makeAddressUrl, makeExplorerUrl, makeTransactionUrl, mnemonicToSeedBase58, parseContractStateNumber, parseLockupVaultData, parseRawLockupVaultData, parseRawVaultData, parseStateNumber, parseStateString, parseVaultData, reduce512To256LE, seed64ToKeypair, toAtomicAma, toBase58, uint8ArrayToArrayBuffer, uint8ArrayToBase64, validate, validateAddress, validateAmount, validateMnemonic, validatePassword, validateSeed, validateTokenSymbol };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
//#region src/mnemonic.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* BIP39 Mnemonic Utilities for Amadeus Protocol
|
|
4
|
+
*
|
|
5
|
+
* This module provides BIP39 mnemonic generation, validation, and seed derivation
|
|
6
|
+
* for use with Amadeus Protocol wallets.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Generate a new 12-word BIP39 mnemonic
|
|
10
|
+
*
|
|
11
|
+
* @returns 12-word mnemonic phrase
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const mnemonic = generateMnemonic()
|
|
16
|
+
* // "abandon ability able about above absent absorb abstract absurd abuse access accident"
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
declare function generateMnemonic(): string;
|
|
20
|
+
/**
|
|
21
|
+
* Validate a BIP39 mnemonic phrase
|
|
22
|
+
*
|
|
23
|
+
* @param mnemonic - Mnemonic phrase to validate
|
|
24
|
+
* @returns true if the mnemonic is valid
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* const isValid = validateMnemonic('abandon ability able ...')
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
declare function validateMnemonic(mnemonic: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Derive an Amadeus seed (base58-encoded 64 bytes) from a BIP39 mnemonic.
|
|
34
|
+
* Uses BIP39 seed derivation (PBKDF2 with SHA-512) which produces a 64-byte seed,
|
|
35
|
+
* matching the Amadeus SDK's expected seed length.
|
|
36
|
+
*
|
|
37
|
+
* @param mnemonic - BIP39 mnemonic phrase
|
|
38
|
+
* @returns Base58-encoded 64-byte seed
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* const seed = mnemonicToSeedBase58('abandon ability able ...')
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
declare function mnemonicToSeedBase58(mnemonic: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Detect whether input is a mnemonic phrase or a raw private key.
|
|
48
|
+
*
|
|
49
|
+
* @param input - User input string
|
|
50
|
+
* @returns 'mnemonic' if the input looks like a word-based mnemonic, or 'seed' if it looks like a base58-encoded key
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* const type = detectInputType('abandon ability able ...')
|
|
55
|
+
* // 'mnemonic'
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
declare function detectInputType(input: string): 'mnemonic' | 'seed';
|
|
59
|
+
/**
|
|
60
|
+
* Vault data format that supports both mnemonic and raw seed storage.
|
|
61
|
+
* When decrypted, old vaults return a plain base58 string,
|
|
62
|
+
* new vaults return a JSON string with this shape.
|
|
63
|
+
*/
|
|
64
|
+
interface VaultSecretData {
|
|
65
|
+
seed: string;
|
|
66
|
+
mnemonic?: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Encode vault secret data as a string for encryption.
|
|
70
|
+
* Always stores as JSON to include the optional mnemonic.
|
|
71
|
+
*
|
|
72
|
+
* @param seed - Base58-encoded seed
|
|
73
|
+
* @param mnemonic - Optional BIP39 mnemonic phrase
|
|
74
|
+
* @returns JSON string for vault encryption
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* const vaultData = encodeVaultSecret(seed, mnemonic)
|
|
79
|
+
* const encrypted = await encryptWithPassword(vaultData, password)
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
declare function encodeVaultSecret(seed: string, mnemonic?: string): string;
|
|
83
|
+
/**
|
|
84
|
+
* Decode vault secret data from a decrypted string.
|
|
85
|
+
* Handles both old format (plain base58 seed) and new format (JSON with seed + mnemonic).
|
|
86
|
+
*
|
|
87
|
+
* @param decrypted - Decrypted vault string
|
|
88
|
+
* @returns Parsed vault secret data
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const decrypted = await decryptWithPassword(encrypted, password)
|
|
93
|
+
* const { seed, mnemonic } = decodeVaultSecret(decrypted)
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
declare function decodeVaultSecret(decrypted: string): VaultSecretData;
|
|
97
|
+
//#endregion
|
|
98
|
+
export { VaultSecretData, decodeVaultSecret, detectInputType, encodeVaultSecret, generateMnemonic, mnemonicToSeedBase58, validateMnemonic };
|
|
99
|
+
//# sourceMappingURL=mnemonic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mnemonic.d.ts","names":[],"sources":["../src/mnemonic.ts"],"mappings":";;AAsBA;;;;;AAeA;;;;;AAiBA;;;;;AAiBA;AAlCA,iBAfgB,gBAAA,CAAA;;;;AAkEhB;;;;;AAmBA;;;iBAtEgB,gBAAA,CAAiB,QAAA;;AA2FjC;;;;;;;;;;;;iBA1EgB,oBAAA,CAAqB,QAAA;;;;;;;;;;;;;iBAiBrB,eAAA,CAAgB,KAAA;;;;;;UAiBf,eAAA;EAChB,IAAA;EACA,QAAA;AAAA;;;;;;;;;;;;;;;iBAiBe,iBAAA,CAAkB,IAAA,UAAc,QAAA;;;;;;;;;;;;;;iBAqBhC,iBAAA,CAAkB,SAAA,WAAoB,eAAA"}
|
package/dist/mnemonic.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { toBase58 } from "./encoding.js";
|
|
2
|
+
import * as bip39 from "@scure/bip39";
|
|
3
|
+
import { wordlist } from "@scure/bip39/wordlists/english.js";
|
|
4
|
+
//#region src/mnemonic.ts
|
|
5
|
+
/**
|
|
6
|
+
* BIP39 Mnemonic Utilities for Amadeus Protocol
|
|
7
|
+
*
|
|
8
|
+
* This module provides BIP39 mnemonic generation, validation, and seed derivation
|
|
9
|
+
* for use with Amadeus Protocol wallets.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Generate a new 12-word BIP39 mnemonic
|
|
13
|
+
*
|
|
14
|
+
* @returns 12-word mnemonic phrase
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const mnemonic = generateMnemonic()
|
|
19
|
+
* // "abandon ability able about above absent absorb abstract absurd abuse access accident"
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
function generateMnemonic() {
|
|
23
|
+
return bip39.generateMnemonic(wordlist, 128);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Validate a BIP39 mnemonic phrase
|
|
27
|
+
*
|
|
28
|
+
* @param mnemonic - Mnemonic phrase to validate
|
|
29
|
+
* @returns true if the mnemonic is valid
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* const isValid = validateMnemonic('abandon ability able ...')
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
function validateMnemonic(mnemonic) {
|
|
37
|
+
return bip39.validateMnemonic(mnemonic.trim().toLowerCase(), wordlist);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Derive an Amadeus seed (base58-encoded 64 bytes) from a BIP39 mnemonic.
|
|
41
|
+
* Uses BIP39 seed derivation (PBKDF2 with SHA-512) which produces a 64-byte seed,
|
|
42
|
+
* matching the Amadeus SDK's expected seed length.
|
|
43
|
+
*
|
|
44
|
+
* @param mnemonic - BIP39 mnemonic phrase
|
|
45
|
+
* @returns Base58-encoded 64-byte seed
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* const seed = mnemonicToSeedBase58('abandon ability able ...')
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
function mnemonicToSeedBase58(mnemonic) {
|
|
53
|
+
return toBase58(bip39.mnemonicToSeedSync(mnemonic.trim().toLowerCase()));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Detect whether input is a mnemonic phrase or a raw private key.
|
|
57
|
+
*
|
|
58
|
+
* @param input - User input string
|
|
59
|
+
* @returns 'mnemonic' if the input looks like a word-based mnemonic, or 'seed' if it looks like a base58-encoded key
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const type = detectInputType('abandon ability able ...')
|
|
64
|
+
* // 'mnemonic'
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
function detectInputType(input) {
|
|
68
|
+
const words = input.trim().split(/\s+/);
|
|
69
|
+
if (words.length === 12 || words.length === 24) {
|
|
70
|
+
if (words.every((w) => /^[a-zA-Z]+$/.test(w))) return "mnemonic";
|
|
71
|
+
}
|
|
72
|
+
return "seed";
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Encode vault secret data as a string for encryption.
|
|
76
|
+
* Always stores as JSON to include the optional mnemonic.
|
|
77
|
+
*
|
|
78
|
+
* @param seed - Base58-encoded seed
|
|
79
|
+
* @param mnemonic - Optional BIP39 mnemonic phrase
|
|
80
|
+
* @returns JSON string for vault encryption
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* const vaultData = encodeVaultSecret(seed, mnemonic)
|
|
85
|
+
* const encrypted = await encryptWithPassword(vaultData, password)
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
function encodeVaultSecret(seed, mnemonic) {
|
|
89
|
+
const data = { seed };
|
|
90
|
+
if (mnemonic) data.mnemonic = mnemonic;
|
|
91
|
+
return JSON.stringify(data);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Decode vault secret data from a decrypted string.
|
|
95
|
+
* Handles both old format (plain base58 seed) and new format (JSON with seed + mnemonic).
|
|
96
|
+
*
|
|
97
|
+
* @param decrypted - Decrypted vault string
|
|
98
|
+
* @returns Parsed vault secret data
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* const decrypted = await decryptWithPassword(encrypted, password)
|
|
103
|
+
* const { seed, mnemonic } = decodeVaultSecret(decrypted)
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
function decodeVaultSecret(decrypted) {
|
|
107
|
+
try {
|
|
108
|
+
const parsed = JSON.parse(decrypted);
|
|
109
|
+
if (parsed && typeof parsed.seed === "string") return {
|
|
110
|
+
seed: parsed.seed,
|
|
111
|
+
mnemonic: parsed.mnemonic || void 0
|
|
112
|
+
};
|
|
113
|
+
} catch {}
|
|
114
|
+
return { seed: decrypted };
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
export { decodeVaultSecret, detectInputType, encodeVaultSecret, generateMnemonic, mnemonicToSeedBase58, validateMnemonic };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=mnemonic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mnemonic.js","names":[],"sources":["../src/mnemonic.ts"],"sourcesContent":["/**\n * BIP39 Mnemonic Utilities for Amadeus Protocol\n *\n * This module provides BIP39 mnemonic generation, validation, and seed derivation\n * for use with Amadeus Protocol wallets.\n */\n\nimport * as bip39 from '@scure/bip39'\nimport { wordlist } from '@scure/bip39/wordlists/english.js'\nimport { toBase58 } from './encoding'\n\n/**\n * Generate a new 12-word BIP39 mnemonic\n *\n * @returns 12-word mnemonic phrase\n *\n * @example\n * ```ts\n * const mnemonic = generateMnemonic()\n * // \"abandon ability able about above absent absorb abstract absurd abuse access accident\"\n * ```\n */\nexport function generateMnemonic(): string {\n\treturn bip39.generateMnemonic(wordlist, 128) // 128 bits = 12 words\n}\n\n/**\n * Validate a BIP39 mnemonic phrase\n *\n * @param mnemonic - Mnemonic phrase to validate\n * @returns true if the mnemonic is valid\n *\n * @example\n * ```ts\n * const isValid = validateMnemonic('abandon ability able ...')\n * ```\n */\nexport function validateMnemonic(mnemonic: string): boolean {\n\treturn bip39.validateMnemonic(mnemonic.trim().toLowerCase(), wordlist)\n}\n\n/**\n * Derive an Amadeus seed (base58-encoded 64 bytes) from a BIP39 mnemonic.\n * Uses BIP39 seed derivation (PBKDF2 with SHA-512) which produces a 64-byte seed,\n * matching the Amadeus SDK's expected seed length.\n *\n * @param mnemonic - BIP39 mnemonic phrase\n * @returns Base58-encoded 64-byte seed\n *\n * @example\n * ```ts\n * const seed = mnemonicToSeedBase58('abandon ability able ...')\n * ```\n */\nexport function mnemonicToSeedBase58(mnemonic: string): string {\n\tconst seed = bip39.mnemonicToSeedSync(mnemonic.trim().toLowerCase())\n\treturn toBase58(seed)\n}\n\n/**\n * Detect whether input is a mnemonic phrase or a raw private key.\n *\n * @param input - User input string\n * @returns 'mnemonic' if the input looks like a word-based mnemonic, or 'seed' if it looks like a base58-encoded key\n *\n * @example\n * ```ts\n * const type = detectInputType('abandon ability able ...')\n * // 'mnemonic'\n * ```\n */\nexport function detectInputType(input: string): 'mnemonic' | 'seed' {\n\tconst trimmed = input.trim()\n\tconst words = trimmed.split(/\\s+/)\n\t// BIP39 mnemonics are 12 or 24 words\n\tif (words.length === 12 || words.length === 24) {\n\t\t// Check if all words look like English words (no numbers, no special chars)\n\t\tconst allWords = words.every((w) => /^[a-zA-Z]+$/.test(w))\n\t\tif (allWords) return 'mnemonic'\n\t}\n\treturn 'seed'\n}\n\n/**\n * Vault data format that supports both mnemonic and raw seed storage.\n * When decrypted, old vaults return a plain base58 string,\n * new vaults return a JSON string with this shape.\n */\nexport interface VaultSecretData {\n\tseed: string\n\tmnemonic?: string\n}\n\n/**\n * Encode vault secret data as a string for encryption.\n * Always stores as JSON to include the optional mnemonic.\n *\n * @param seed - Base58-encoded seed\n * @param mnemonic - Optional BIP39 mnemonic phrase\n * @returns JSON string for vault encryption\n *\n * @example\n * ```ts\n * const vaultData = encodeVaultSecret(seed, mnemonic)\n * const encrypted = await encryptWithPassword(vaultData, password)\n * ```\n */\nexport function encodeVaultSecret(seed: string, mnemonic?: string): string {\n\tconst data: VaultSecretData = { seed }\n\tif (mnemonic) {\n\t\tdata.mnemonic = mnemonic\n\t}\n\treturn JSON.stringify(data)\n}\n\n/**\n * Decode vault secret data from a decrypted string.\n * Handles both old format (plain base58 seed) and new format (JSON with seed + mnemonic).\n *\n * @param decrypted - Decrypted vault string\n * @returns Parsed vault secret data\n *\n * @example\n * ```ts\n * const decrypted = await decryptWithPassword(encrypted, password)\n * const { seed, mnemonic } = decodeVaultSecret(decrypted)\n * ```\n */\nexport function decodeVaultSecret(decrypted: string): VaultSecretData {\n\ttry {\n\t\tconst parsed = JSON.parse(decrypted)\n\t\tif (parsed && typeof parsed.seed === 'string') {\n\t\t\treturn {\n\t\t\t\tseed: parsed.seed,\n\t\t\t\tmnemonic: parsed.mnemonic || undefined\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Not JSON — old format, plain base58 seed\n\t}\n\treturn { seed: decrypted }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsBA,SAAgB,mBAA2B;CAC1C,OAAO,MAAM,iBAAiB,UAAU,IAAI;;;;;;;;;;;;;AAc7C,SAAgB,iBAAiB,UAA2B;CAC3D,OAAO,MAAM,iBAAiB,SAAS,MAAM,CAAC,aAAa,EAAE,SAAS;;;;;;;;;;;;;;;AAgBvE,SAAgB,qBAAqB,UAA0B;CAE9D,OAAO,SADM,MAAM,mBAAmB,SAAS,MAAM,CAAC,aAAa,CAC/C,CAAC;;;;;;;;;;;;;;AAetB,SAAgB,gBAAgB,OAAoC;CAEnE,MAAM,QADU,MAAM,MACD,CAAC,MAAM,MAAM;CAElC,IAAI,MAAM,WAAW,MAAM,MAAM,WAAW;MAE1B,MAAM,OAAO,MAAM,cAAc,KAAK,EAAE,CAC7C,EAAE,OAAO;;CAEtB,OAAO;;;;;;;;;;;;;;;;AA2BR,SAAgB,kBAAkB,MAAc,UAA2B;CAC1E,MAAM,OAAwB,EAAE,MAAM;CACtC,IAAI,UACH,KAAK,WAAW;CAEjB,OAAO,KAAK,UAAU,KAAK;;;;;;;;;;;;;;;AAgB5B,SAAgB,kBAAkB,WAAoC;CACrE,IAAI;EACH,MAAM,SAAS,KAAK,MAAM,UAAU;EACpC,IAAI,UAAU,OAAO,OAAO,SAAS,UACpC,OAAO;GACN,MAAM,OAAO;GACb,UAAU,OAAO,YAAY,KAAA;GAC7B;SAEK;CAGR,OAAO,EAAE,MAAM,WAAW"}
|
package/dist/networks.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
//#region src/networks.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* Network Configuration
|
|
3
4
|
*
|
|
@@ -6,38 +7,34 @@
|
|
|
6
7
|
/**
|
|
7
8
|
* Network types enum
|
|
8
9
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
declare enum NetworkType {
|
|
11
|
+
MAINNET = "mainnet",
|
|
12
|
+
TESTNET = "testnet",
|
|
13
|
+
CUSTOM = "custom"
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* Network configuration interface
|
|
16
17
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
interface NetworkConfig {
|
|
19
|
+
rpcUrl: string;
|
|
20
|
+
explorerUrl: string;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* Network API URLs
|
|
23
24
|
*/
|
|
24
|
-
|
|
25
|
-
[key in Exclude<NetworkType, NetworkType.CUSTOM>]: string;
|
|
26
|
-
};
|
|
25
|
+
declare const NETWORK_URLS: { [key in Exclude<NetworkType, NetworkType.CUSTOM>]: string };
|
|
27
26
|
/**
|
|
28
27
|
* Network Explorer URLs
|
|
29
28
|
*/
|
|
30
|
-
|
|
31
|
-
[key in Exclude<NetworkType, NetworkType.CUSTOM>]: string;
|
|
32
|
-
};
|
|
29
|
+
declare const NETWORK_EXPLORER_URLS: { [key in Exclude<NetworkType, NetworkType.CUSTOM>]: string };
|
|
33
30
|
/**
|
|
34
31
|
* Network configurations (RPC + Explorer)
|
|
35
32
|
*/
|
|
36
|
-
|
|
37
|
-
[key in Exclude<NetworkType, NetworkType.CUSTOM>]: NetworkConfig;
|
|
38
|
-
};
|
|
33
|
+
declare const NETWORK_CONFIGS: { [key in Exclude<NetworkType, NetworkType.CUSTOM>]: NetworkConfig };
|
|
39
34
|
/**
|
|
40
35
|
* Testnet Faucet URL
|
|
41
36
|
*/
|
|
42
|
-
|
|
37
|
+
declare const TESTNET_FAUCET_URL = "https://mcp.ama.one/testnet-faucet";
|
|
38
|
+
//#endregion
|
|
39
|
+
export { NETWORK_CONFIGS, NETWORK_EXPLORER_URLS, NETWORK_URLS, NetworkConfig, NetworkType, TESTNET_FAUCET_URL };
|
|
43
40
|
//# sourceMappingURL=networks.d.ts.map
|
package/dist/networks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.d.ts","
|
|
1
|
+
{"version":3,"file":"networks.d.ts","names":[],"sources":["../src/networks.ts"],"mappings":";;AASA;;;;;;;aAAY,WAAA;EACX,OAAA;EACA,OAAA;EACA,MAAA;AAAA;;;AAcD;UARiB,aAAA;EAChB,MAAA;EACA,WAAA;AAAA;;;;cAMY,YAAA,YAAwB,OAAA,CAAQ,WAAA,EAAa,WAAA,CAAY,MAAA;;;;cAQzD,qBAAA,YAAiC,OAAA,CAAQ,WAAA,EAAa,WAAA,CAAY,MAAA;;;;cASlE,eAAA,YAA2B,OAAA,CAAQ,WAAA,EAAa,WAAA,CAAY,MAAA,IAAU,aAAA;;;;cAetE,kBAAA"}
|
package/dist/networks.js
CHANGED
|
@@ -1,46 +1,50 @@
|
|
|
1
|
+
//#region src/networks.ts
|
|
1
2
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
* Network Configuration
|
|
4
|
+
*
|
|
5
|
+
* This module provides network configuration for Amadeus Protocol networks.
|
|
6
|
+
*/
|
|
6
7
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
8
|
+
* Network types enum
|
|
9
|
+
*/
|
|
10
|
+
let NetworkType = /* @__PURE__ */ function(NetworkType) {
|
|
11
|
+
NetworkType["MAINNET"] = "mainnet";
|
|
12
|
+
NetworkType["TESTNET"] = "testnet";
|
|
13
|
+
NetworkType["CUSTOM"] = "custom";
|
|
14
|
+
return NetworkType;
|
|
15
|
+
}({});
|
|
15
16
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
* Network API URLs
|
|
18
|
+
*/
|
|
19
|
+
const NETWORK_URLS = {
|
|
20
|
+
["mainnet"]: "https://mainnet-rpc.ama.one",
|
|
21
|
+
["testnet"]: "https://testnet-rpc.ama.one"
|
|
21
22
|
};
|
|
22
23
|
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
* Network Explorer URLs
|
|
25
|
+
*/
|
|
26
|
+
const NETWORK_EXPLORER_URLS = {
|
|
27
|
+
["mainnet"]: "https://explorer.ama.one",
|
|
28
|
+
["testnet"]: "https://testnet.explorer.ama.one"
|
|
28
29
|
};
|
|
29
30
|
/**
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
* Network configurations (RPC + Explorer)
|
|
32
|
+
*/
|
|
33
|
+
const NETWORK_CONFIGS = {
|
|
34
|
+
["mainnet"]: {
|
|
35
|
+
rpcUrl: NETWORK_URLS["mainnet"],
|
|
36
|
+
explorerUrl: NETWORK_EXPLORER_URLS["mainnet"]
|
|
37
|
+
},
|
|
38
|
+
["testnet"]: {
|
|
39
|
+
rpcUrl: NETWORK_URLS["testnet"],
|
|
40
|
+
explorerUrl: NETWORK_EXPLORER_URLS["testnet"]
|
|
41
|
+
}
|
|
41
42
|
};
|
|
42
43
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
* Testnet Faucet URL
|
|
45
|
+
*/
|
|
46
|
+
const TESTNET_FAUCET_URL = "https://mcp.ama.one/testnet-faucet";
|
|
47
|
+
//#endregion
|
|
48
|
+
export { NETWORK_CONFIGS, NETWORK_EXPLORER_URLS, NETWORK_URLS, NetworkType, TESTNET_FAUCET_URL };
|
|
49
|
+
|
|
46
50
|
//# sourceMappingURL=networks.js.map
|
package/dist/networks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.js","
|
|
1
|
+
{"version":3,"file":"networks.js","names":[],"sources":["../src/networks.ts"],"sourcesContent":["/**\n * Network Configuration\n *\n * This module provides network configuration for Amadeus Protocol networks.\n */\n\n/**\n * Network types enum\n */\nexport enum NetworkType {\n\tMAINNET = 'mainnet',\n\tTESTNET = 'testnet',\n\tCUSTOM = 'custom'\n}\n\n/**\n * Network configuration interface\n */\nexport interface NetworkConfig {\n\trpcUrl: string\n\texplorerUrl: string\n}\n\n/**\n * Network API URLs\n */\nexport const NETWORK_URLS: { [key in Exclude<NetworkType, NetworkType.CUSTOM>]: string } = {\n\t[NetworkType.MAINNET]: 'https://mainnet-rpc.ama.one',\n\t[NetworkType.TESTNET]: 'https://testnet-rpc.ama.one'\n}\n\n/**\n * Network Explorer URLs\n */\nexport const NETWORK_EXPLORER_URLS: { [key in Exclude<NetworkType, NetworkType.CUSTOM>]: string } =\n\t{\n\t\t[NetworkType.MAINNET]: 'https://explorer.ama.one',\n\t\t[NetworkType.TESTNET]: 'https://testnet.explorer.ama.one'\n\t}\n\n/**\n * Network configurations (RPC + Explorer)\n */\nexport const NETWORK_CONFIGS: { [key in Exclude<NetworkType, NetworkType.CUSTOM>]: NetworkConfig } =\n\t{\n\t\t[NetworkType.MAINNET]: {\n\t\t\trpcUrl: NETWORK_URLS[NetworkType.MAINNET],\n\t\t\texplorerUrl: NETWORK_EXPLORER_URLS[NetworkType.MAINNET]\n\t\t},\n\t\t[NetworkType.TESTNET]: {\n\t\t\trpcUrl: NETWORK_URLS[NetworkType.TESTNET],\n\t\t\texplorerUrl: NETWORK_EXPLORER_URLS[NetworkType.TESTNET]\n\t\t}\n\t}\n\n/**\n * Testnet Faucet URL\n */\nexport const TESTNET_FAUCET_URL = 'https://mcp.ama.one/testnet-faucet'\n"],"mappings":";;;;;;;;;AASA,IAAY,cAAL,yBAAA,aAAA;CACN,YAAA,aAAA;CACA,YAAA,aAAA;CACA,YAAA,YAAA;;KACA;;;;AAaD,MAAa,eAA8E;cACnE;cACA;CACvB;;;;AAKD,MAAa,wBACZ;cACwB;cACA;CACvB;;;;AAKF,MAAa,kBACZ;cACwB;EACtB,QAAQ,aAAA;EACR,aAAa,sBAAA;EACb;cACsB;EACtB,QAAQ,aAAA;EACR,aAAa,sBAAA;EACb;CACD;;;;AAKF,MAAa,qBAAqB"}
|