Añadir activos al Portal Astar
Una vez que un canal está abierto entre parachains y los activos han sido registrados, los desarrolladores pueden crear un PR en el GitHub de Astar Portal para que se añadan sus activos. Esto es lo que necesita saber sobre la integración de los activos XCM en Astar Portal.
Definir la información de Parachain
-
Añade el
nombre de la cadena
para el enum Chain. -
Añade el
parachain id
para el enum parachainIds. -
Añade la
metadata de la cadena
para el enum Chain.e.g.
interface XcmChain {
name: Chain;
parachainId: parachainIds;
relayChain: Chain;
subscan: string;
// Nota: una dirección URL de imagen para el logotipo de la cadena
img: string;
// Nota: punto final de websocket para conectarse a la API de parachains
endpoint: string;
// Nota: `true` si ASTR/SDN aparece en los parachains
isAstarNativeToken: boolean;
}
const xcmChainObj = {
[Chain.STATEMINT]: {
name: Chain.STATEMINT,
relayChain: Chain.POLKADOT,
img: 'https://polkadot.js.org/apps/static/statemine.65437936..svg',
parachainId: parachainIds.STATEMINT,
endpoint: 'wss://statemint-rpc.dwellir.com',
subscan: 'https://statemint.subscan.io',
isAstarNativeToken: false,
}
Definir la información de Parachain
Agregue la información del activo para la variable de objeto xcmToken.
e.g.
interface XcmTokenInformation {
symbol: string;
logo: string;
originChain: string;
isNativeToken: boolean;
isXcmCompatible: boolean;
// Note: ID del activo en Astar/Shiden
assetId: string;
// Note: ID del activo en la cadena de origen
originAssetId: string;
// Nota: este importe debe ser como mínimo superior al Depósito Existencial en la cadena de origen.
minBridgeAmount: string;
}
const xcmToken = {
[endpointKey.ASTAR]: [
{
symbol: 'USDT',
isNativeToken: false,
assetId: '4294969280',
originAssetId: '1984',
logo: 'https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707',
isXcmCompatible: true,
originChain: Chain.STATEMINT,
minBridgeAmount: '0.21',
},
],
[endpointKey.SHIDEN]: [
{
symbol: 'KAR',
isNativeToken: true,
assetId: '18446744073709551618',
originAssetId: 'KAR',
logo: 'https://assets.coingecko.com/coins/images/17172/small/karura.jpeg?1626782066',
isXcmCompatible: true,
originChain: Chain.KARURA,
minBridgeAmount: '0.11',
},
],
}
Definir métodos para transferencias XCM y obtener saldos de activos
- Crea una clase (Repository) que hereda de la clase XcmRepository y define la lógica bajo los métodos
getTransferCall
ygetTokenBalance
(e.g.). - Exportar la clase del repositorio en /src/v2/repositories/implementations/index.ts
- Agregue el repositorio en la variable del objeto XcmRepositoryConfiguration.
Requisitos para crear PR
- Ha probado las funciones de depósito y retiro en Astar Portal.
- Las funciones de depósito y retiro se han probado adicionalmente con el
minBridgeAmount
. - Ha probado el retiro de activos a cuentas que tienen 0 saldos de activos retirados (para comprobar si
minBridgeAmount
es mayor queExistential Deposit
definido en la cadena de origen). - Usted ha incluido el o los enlaces de Subscan a los detalles de la transacción XCM, para cada uno de los activos que se ha registrado.
- Y finalmente, ha implementado la aplicación bifurcada, y han enviado la URL de staging ref.