@radixdlt/atom-transaction-mapping
Version:
28 lines • 1.36 kB
TypeScript
import { UserAction, UserActionType } from '@radixdlt/actions';
import { AnySpunParticle, AnyUpParticle, ParticleBase } from '@radixdlt/atom';
import { Result } from 'neverthrow';
import { AddressT } from '@radixdlt/account';
import { ParticleGroupT } from '@radixdlt/atom/src/_types';
import { AmountT } from '@radixdlt/primitives/src/_types';
export declare type FungibleParticleTransitioner<From extends ParticleBase> = Readonly<{
transition: (input: Readonly<{
currentParticles: From[];
totalAmountToTransfer: AmountT;
}>) => Result<AnySpunParticle[], Error>;
}>;
export declare type ActionToParticleGroupsMapper<T extends UserActionType = UserActionType> = Readonly<{
actionType: T;
particleGroupsFromAction: (input: Readonly<{
action: UserAction<unknown>;
upParticles: AnyUpParticle[];
addressOfActiveAccount: AddressT;
}>) => Result<ParticleGroupT[], Error>;
}>;
export declare type MapperInput = Readonly<{
action: UserAction<unknown>;
upParticles: AnyUpParticle[];
addressOfActiveAccount: AddressT;
}>;
export declare type TokenTransferActionToParticleGroupsMapper = ActionToParticleGroupsMapper<UserActionType.TOKEN_TRANSFER>;
export declare type BurnTokensActionToParticleGroupsMapper = ActionToParticleGroupsMapper<UserActionType.BURN_TOKENS>;
//# sourceMappingURL=_types.d.ts.map