@radixdlt/atom-transaction-mapping
Version:
25 lines • 1.18 kB
TypeScript
import { FungibleParticleTransitioner } from './_types';
import { AnySpunParticle, ParticleBase } from '@radixdlt/atom';
import { Result } from 'neverthrow';
import { AmountT } from '@radixdlt/primitives/src/_types';
export declare const makeTransitioner: <From extends ParticleBase, To extends ParticleBase>(input: Readonly<{
inputAmountMapper: (from: From) => AmountT;
inputCreator: (amount: AmountT, from: From) => Result<From, Error>;
outputCreator: (amount: AmountT, from: From) => Result<To, Error>;
}>) => Readonly<{
transition: (input: Readonly<{
currentParticles: From[];
totalAmountToTransfer: AmountT;
}>) => Result<AnySpunParticle[], Error>;
}>;
export declare const makeSimpleTransitioner: <From extends ParticleBase, To extends ParticleBase>(input: Readonly<{
inputAmountMapper: (from: From) => AmountT;
inputCreator: (amount: AmountT) => From;
outputCreator: (amount: AmountT) => To;
}>) => Readonly<{
transition: (input: Readonly<{
currentParticles: From[];
totalAmountToTransfer: AmountT;
}>) => Result<AnySpunParticle[], Error>;
}>;
//# sourceMappingURL=fungibleParticleTransitioner.d.ts.map