@kaspacom/kcc20-tx-builder 0.4.0 → 0.5.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.
@@ -274,7 +274,7 @@ export function buildSnapshotStartUnsignedTransaction(
274
274
  fundingInput,
275
275
  changeAddress,
276
276
  feeSompi,
277
- payload = "",
277
+ payload = new Uint8Array() as Uint8Array<ArrayBufferLike>,
278
278
  },
279
279
  ) {
280
280
  requirePlan(plan, "snapshot-start-plan");
@@ -1,20 +1,23 @@
1
1
  import { prepareSnapshotDeployment, type SnapshotArtifacts, type SnapshotDeploymentDefinition } from './snapshot-deployment.js';
2
- import { bytesToHex } from './encoding.js';
3
2
  import * as tx from './snapshot-signerless-transactions.js';
4
3
 
5
- export function snapshotStartPayload(definition: SnapshotDeploymentDefinition, prepared: ReturnType<typeof prepareSnapshotDeployment>): string {
4
+ export function snapshotStartPayload(definition: SnapshotDeploymentDefinition, prepared: ReturnType<typeof prepareSnapshotDeployment>): Uint8Array {
6
5
  const plan = prepared.plan;
7
6
  if (prepared.stage !== 'snapshot-start') throw new Error('snapshot start plan required');
8
- const opening = {
9
- ...prepared.extension, ticker: definition.ticker, name: definition.ticker,
10
- premintSupply: definition.totalSupply, premintRecipient: plan.reserves[0].owner, premintOwnerScheme: 4,
11
- holderExtensionCommitment: prepared.holderExtensionCommitment, snapshotMigrationId: definition.migrationId,
12
- snapshotManifestCommitment: definition.manifestCommitment,
13
- snapshotReserves: plan.reserves.map((reserve: any, shardIndex: number) => ({ ...reserve, shardIndex })),
14
- };
15
- return bytesToHex(new TextEncoder().encode(JSON.stringify({ tn10: { v: 1, tmpl: 'KCC20',
16
- args: Object.entries(opening).map(([name, value]) => ({ name, type: 'value', value })),
17
- } })));
7
+ return tx.buildSnapshotKcc20DeploymentPayload({
8
+ creator: definition.creator,
9
+ ticker: definition.ticker,
10
+ name: definition.ticker,
11
+ displayScale: definition.displayScale,
12
+ totalSupply: definition.totalSupply,
13
+ holderExtensionCommitment: prepared.holderExtensionCommitment,
14
+ migrationId: definition.migrationId,
15
+ manifestCommitment: definition.manifestCommitment,
16
+ reserves: plan.reserves,
17
+ treasury: definition.creator,
18
+ protocolFeeRecipient: definition.creator,
19
+ protocolFeeBps: 0,
20
+ });
18
21
  }
19
22
 
20
23
  /** Reconstruct the whole transaction from approved definition and pinned artifacts. */
@@ -59,7 +62,8 @@ export function verifySnapshotDeploymentTransaction(kw: any, args: {
59
62
  throw new Error('snapshot bootstrap input differs from approved genesis');
60
63
  }
61
64
  expected = tx.buildSnapshotStartUnsignedTransaction(kw, {
62
- ...common, payload: snapshotStartPayload(args.definition, prepared),
65
+ ...common,
66
+ payload: snapshotStartPayload(args.definition, prepared),
63
67
  bootstrapInput,
64
68
  controllerInputs: plan.controllers.map((controller: any, index: number) => {
65
69
  const actual = input(index + 1, tx.buildSnapshotControllerScriptForState(args.artifacts.controllerArtifact, controller.stateBefore));