@helium/lazy-distributor-sdk 0.0.33 → 0.0.35

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.
@@ -24,14 +24,14 @@ function distributeCompressionRewards({ program, assetId, lazyDistributor, asset
24
24
  if (!assetProof) {
25
25
  throw new Error("No asset proof with ID " + assetId.toBase58());
26
26
  }
27
- const { root, proof, leaf, treeId, nodeIndex } = assetProof;
28
- const { ownership: { owner }, } = asset;
27
+ const { root, proof, leaf, treeId } = assetProof;
28
+ const { ownership: { owner }, compression: { leafId }, } = asset;
29
29
  const canopy = yield (yield spl_account_compression_1.ConcurrentMerkleTreeAccount.fromAccountAddress(program.provider.connection, treeId)).getCanopyDepth();
30
30
  return program.methods
31
31
  .distributeCompressionRewardsV0({
32
32
  hash: leaf.toBuffer().toJSON().data,
33
33
  root: root.toBuffer().toJSON().data,
34
- index: nodeIndex,
34
+ index: leafId,
35
35
  })
36
36
  .accounts({
37
37
  common: {
@@ -1 +1 @@
1
- {"version":3,"file":"distributeCompressionRewards.js","sourceRoot":"","sources":["../../../src/functions/distributeCompressionRewards.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iDAA+E;AAG/E,6EAA8E;AAE9E,SAAsB,4BAA4B,CAAkB,EAClE,OAAO,EACP,OAAO,EACP,eAAe,EACf,aAAa,EACb,UAAU,GAAG,oBAAQ,EACrB,eAAe,GAAG,yBAAa,GAYhC;;QACC,aAAa;QACb,MAAM,QAAQ,GAAG,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;QAC3E,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3D;QACD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjE;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;QAC5D,MAAM,EACJ,SAAS,EAAE,EAAE,KAAK,EAAE,GACrB,GAAG,KAAK,CAAC;QAEV,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,qDAA2B,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAC1F,CAAC,cAAc,EAAE,CAAC;QAEnB,OAAO,OAAO,CAAC,OAAO;aACnB,8BAA8B,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;YACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;YACnC,KAAK,EAAE,SAAS;SACjB,CAAC;aACD,QAAQ,CAAC;YACR,MAAM,EAAE;gBACN,eAAe;gBACf,KAAK;aACN;YACD,UAAU,EAAE,MAAM;SACnB,CAAC;aACD,iBAAiB,CAChB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACN,CAAC;CAAA;AA5DD,oEA4DC"}
1
+ {"version":3,"file":"distributeCompressionRewards.js","sourceRoot":"","sources":["../../../src/functions/distributeCompressionRewards.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iDAA+E;AAG/E,6EAA8E;AAE9E,SAAsB,4BAA4B,CAAkB,EAClE,OAAO,EACP,OAAO,EACP,eAAe,EACf,aAAa,EACb,UAAU,GAAG,oBAAQ,EACrB,eAAe,GAAG,yBAAa,GAYhC;;QACC,aAAa;QACb,MAAM,QAAQ,GAAG,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;QAC3E,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3D;QACD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjE;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QACjD,MAAM,EACJ,SAAS,EAAE,EAAE,KAAK,EAAE,EACpB,WAAW,EAAE,EAAE,MAAM,EAAE,GACxB,GAAG,KAAK,CAAC;QACV,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,qDAA2B,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAC1F,CAAC,cAAc,EAAE,CAAC;QAEnB,OAAO,OAAO,CAAC,OAAO;aACnB,8BAA8B,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;YACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;YACnC,KAAK,EAAE,MAAO;SACf,CAAC;aACD,QAAQ,CAAC;YACR,MAAM,EAAE;gBACN,eAAe;gBACf,KAAK;aACN;YACD,UAAU,EAAE,MAAM;SACnB,CAAC;aACD,iBAAiB,CAChB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACN,CAAC;CAAA;AA5DD,oEA4DC"}
@@ -11,30 +11,42 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.initializeCompressionRecipient = void 0;
13
13
  const spl_utils_1 = require("@helium/spl-utils");
14
- function initializeCompressionRecipient({ program, assetId, lazyDistributor,
14
+ const anchor_1 = require("@coral-xyz/anchor");
15
+ const spl_account_compression_1 = require("@solana/spl-account-compression");
16
+ const pdas_1 = require("../pdas");
17
+ const mpl_bubblegum_1 = require("@metaplex-foundation/mpl-bubblegum");
18
+ function initializeCompressionRecipient({ program, assetId, lazyDistributor, assetEndpoint,
15
19
  // @ts-ignore
16
- owner = program.provider.wallet.publicKey, getAssetProofFn = spl_utils_1.getAssetProof, }) {
20
+ owner = program.provider.wallet.publicKey, getAssetFn = spl_utils_1.getAsset, getAssetProofFn = spl_utils_1.getAssetProof, }) {
17
21
  return __awaiter(this, void 0, void 0, function* () {
18
22
  // @ts-ignore
19
- const endpoint = program.provider.connection._rpcEndpoint;
20
- const asset = yield getAssetProofFn(endpoint, assetId);
23
+ const endpoint = assetEndpoint || program.provider.connection._rpcEndpoint;
24
+ const asset = yield getAssetFn(endpoint, assetId);
21
25
  if (!asset) {
22
26
  throw new Error("No asset with ID " + assetId.toBase58());
23
27
  }
24
- const { root, proof, leaf, treeId, nodeIndex } = asset;
28
+ const assetProof = yield getAssetProofFn(endpoint, assetId);
29
+ if (!assetProof) {
30
+ throw new Error("No asset with ID " + assetId.toBase58());
31
+ }
32
+ const { compression: { leafId }, } = asset;
33
+ const { root, proof, leaf, treeId } = assetProof;
34
+ const canopy = yield (yield spl_account_compression_1.ConcurrentMerkleTreeAccount.fromAccountAddress(program.provider.connection, treeId)).getCanopyDepth();
35
+ const recipient = (0, pdas_1.recipientKey)(lazyDistributor, yield (0, mpl_bubblegum_1.getLeafAssetId)(treeId, new anchor_1.BN(leafId)))[0];
25
36
  return program.methods
26
37
  .initializeCompressionRecipientV0({
27
38
  hash: leaf.toBuffer().toJSON().data,
28
39
  root: root.toBuffer().toJSON().data,
29
- index: nodeIndex,
40
+ index: leafId,
30
41
  })
31
42
  .accounts({
32
43
  lazyDistributor,
33
44
  merkleTree: treeId,
34
45
  owner: owner,
35
46
  delegate: owner,
47
+ recipient
36
48
  })
37
- .remainingAccounts(proof.map((p) => {
49
+ .remainingAccounts(proof.slice(0, proof.length - canopy).map((p) => {
38
50
  return {
39
51
  pubkey: p,
40
52
  isWritable: false,
@@ -1 +1 @@
1
- {"version":3,"file":"initializeCompressionRecipient.js","sourceRoot":"","sources":["../../../src/functions/initializeCompressionRecipient.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iDAA8D;AAI9D,SAAsB,8BAA8B,CAAC,EACnD,OAAO,EACP,OAAO,EACP,eAAe;AACf,aAAa;AACb,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EACzC,eAAe,GAAG,yBAAa,GAUhC;;QACC,aAAa;QACb,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3D;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAEvD,OAAO,OAAO,CAAC,OAAO;aACnB,gCAAgC,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;YACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;YACnC,KAAK,EAAE,SAAS;SACjB,CAAC;aACD,QAAQ,CAAC;YACR,eAAe;YACf,UAAU,EAAE,MAAM;YAClB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;SAChB,CAAC;aACD,iBAAiB,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACN,CAAC;CAAA;AA9CD,wEA8CC"}
1
+ {"version":3,"file":"initializeCompressionRecipient.js","sourceRoot":"","sources":["../../../src/functions/initializeCompressionRecipient.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iDAA+E;AAC/E,8CAAqD;AAErD,6EAA8E;AAC9E,kCAAuC;AACvC,sEAAoE;AAEpE,SAAsB,8BAA8B,CAAC,EACnD,OAAO,EACP,OAAO,EACP,eAAe,EACf,aAAa;AACb,aAAa;AACb,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EACzC,UAAU,GAAG,oBAAQ,EACrB,eAAe,GAAG,yBAAa,GAYhC;;QACC,aAAa;QACb,MAAM,QAAQ,GAAG,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;QAE3E,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3D;QAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3D;QACD,MAAM,EACJ,WAAW,EAAE,EAAE,MAAM,EAAE,GACxB,GAAG,KAAK,CAAC;QACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QACjD,MAAM,MAAM,GAAG,MAAK,CAClB,MAAM,qDAA2B,CAAC,kBAAkB,CAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,EAC3B,MAAM,CACP,CACF,CAAC,cAAc,EAAE,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,eAAe,EAAE,MAAM,IAAA,8BAAc,EAAC,MAAM,EAAE,IAAI,WAAE,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEjG,OAAO,OAAO,CAAC,OAAO;aACnB,gCAAgC,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;YACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;YACnC,KAAK,EAAE,MAAO;SACf,CAAC;aACD,QAAQ,CAAC;YACR,eAAe;YACf,UAAU,EAAE,MAAM;YAClB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;YACf,SAAS;SACV,CAAC;aACD,iBAAiB,CAChB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACN,CAAC;CAAA;AApED,wEAoEC"}
package/lib/cjs/pdas.js CHANGED
@@ -1,25 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compressedRecipientKey = exports.recipientKey = exports.lazyDistributorKey = void 0;
3
+ exports.recipientKey = exports.lazyDistributorKey = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  const constants_1 = require("./constants");
6
6
  function lazyDistributorKey(mint, programId = constants_1.PROGRAM_ID) {
7
7
  return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("lazy_distributor", "utf-8"), mint.toBuffer()], programId);
8
8
  }
9
9
  exports.lazyDistributorKey = lazyDistributorKey;
10
- function recipientKey(lazyDistributor, mint, programId = constants_1.PROGRAM_ID) {
11
- return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("recipient", "utf-8"), lazyDistributor.toBuffer(), mint.toBuffer()], programId);
10
+ function recipientKey(lazyDistributor, asset, programId = constants_1.PROGRAM_ID) {
11
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("recipient", "utf-8"), lazyDistributor.toBuffer(), asset.toBuffer()], programId);
12
12
  }
13
13
  exports.recipientKey = recipientKey;
14
- function compressedRecipientKey(lazyDistributor, merkleTree, index, programId = constants_1.PROGRAM_ID) {
15
- const indexBuf = Buffer.alloc(4);
16
- indexBuf.writeInt32LE(index);
17
- return web3_js_1.PublicKey.findProgramAddressSync([
18
- Buffer.from("recipient", "utf-8"),
19
- lazyDistributor.toBuffer(),
20
- merkleTree.toBuffer(),
21
- indexBuf
22
- ], programId);
23
- }
24
- exports.compressedRecipientKey = compressedRecipientKey;
25
14
  //# sourceMappingURL=pdas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdas.js","sourceRoot":"","sources":["../../src/pdas.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,2CAAyC;AAGzC,SAAgB,kBAAkB,CAChC,IAAe,EACf,YAAuB,sBAAU;IAEjC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAC3D,SAAS,CACV,CAAC;AACJ,CAAC;AARD,gDAQC;AAED,SAAgB,YAAY,CAC1B,eAA0B,EAC1B,IAAe,EACf,YAAuB,sBAAU;IAEjC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAChF,SAAS,CACV,CAAC;AACJ,CAAC;AATD,oCASC;AAED,SAAgB,sBAAsB,CACpC,eAA0B,EAC1B,UAAqB,EACrB,KAAa,EACb,YAAuB,sBAAU;IAEjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,mBAAS,CAAC,sBAAsB,CACrC;QACE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;QACjC,eAAe,CAAC,QAAQ,EAAE;QAC1B,UAAU,CAAC,QAAQ,EAAE;QACrB,QAAQ;KACT,EACD,SAAS,CACV,CAAC;AACJ,CAAC;AAjBD,wDAiBC"}
1
+ {"version":3,"file":"pdas.js","sourceRoot":"","sources":["../../src/pdas.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAC5C,2CAAyC;AAGzC,SAAgB,kBAAkB,CAChC,IAAe,EACf,YAAuB,sBAAU;IAEjC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAC3D,SAAS,CACV,CAAC;AACJ,CAAC;AARD,gDAQC;AAED,SAAgB,YAAY,CAC1B,eAA0B,EAC1B,KAAgB,EAChB,YAAuB,sBAAU;IAEjC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,EACjF,SAAS,CACV,CAAC;AACJ,CAAC;AATD,oCASC"}
@@ -16,6 +16,8 @@ const spl_token_1 = require("@solana/spl-token");
16
16
  const web3_js_1 = require("@solana/web3.js");
17
17
  const circuit_breaker_sdk_1 = require("@helium/circuit-breaker-sdk");
18
18
  const pdas_1 = require("./pdas");
19
+ const mpl_bubblegum_1 = require("@metaplex-foundation/mpl-bubblegum");
20
+ const bn_js_1 = require("bn.js");
19
21
  exports.lazyDistributorResolvers = (0, spl_utils_1.combineResolvers)((0, spl_utils_1.resolveIndividual)(({ path }) => __awaiter(void 0, void 0, void 0, function* () {
20
22
  switch (path[path.length - 1]) {
21
23
  case "tokenMetadataProgram":
@@ -62,7 +64,7 @@ exports.lazyDistributorResolvers = (0, spl_utils_1.combineResolvers)((0, spl_uti
62
64
  accounts.merkleTree &&
63
65
  common.lazyDistributor &&
64
66
  !common.recipient) {
65
- common.recipient = (0, pdas_1.compressedRecipientKey)(common.lazyDistributor, accounts.merkleTree, args[2])[0];
67
+ common.recipient = (0, pdas_1.recipientKey)(common.lazyDistributor, yield (0, mpl_bubblegum_1.getLeafAssetId)(accounts.merkleTree, new bn_js_1.BN(args[0].index)))[0];
66
68
  resolved++;
67
69
  }
68
70
  if (idlIx.name === "distributeRewardsV0" &&
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../src/resolvers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../src/resolvers.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,14 @@ export async function distributeCompressionRewards({ program, assetId, lazyDistr
11
11
  if (!assetProof) {
12
12
  throw new Error("No asset proof with ID " + assetId.toBase58());
13
13
  }
14
- const { root, proof, leaf, treeId, nodeIndex } = assetProof;
15
- const { ownership: { owner }, } = asset;
14
+ const { root, proof, leaf, treeId } = assetProof;
15
+ const { ownership: { owner }, compression: { leafId }, } = asset;
16
16
  const canopy = await (await ConcurrentMerkleTreeAccount.fromAccountAddress(program.provider.connection, treeId)).getCanopyDepth();
17
17
  return program.methods
18
18
  .distributeCompressionRewardsV0({
19
19
  hash: leaf.toBuffer().toJSON().data,
20
20
  root: root.toBuffer().toJSON().data,
21
- index: nodeIndex,
21
+ index: leafId,
22
22
  })
23
23
  .accounts({
24
24
  common: {
@@ -1 +1 @@
1
- {"version":3,"file":"distributeCompressionRewards.js","sourceRoot":"","sources":["../../../../src/functions/distributeCompressionRewards.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,QAAQ,EAAE,aAAa,EAAc,MAAM,mBAAmB,CAAC;AAG/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAkB,EAClE,OAAO,EACP,OAAO,EACP,eAAe,EACf,aAAa,EACb,UAAU,GAAG,QAAQ,EACrB,eAAe,GAAG,aAAa,GAYhC;IACC,aAAa;IACb,MAAM,QAAQ,GAAG,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;IAC3E,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3D;IACD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KACjE;IACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;IAC5D,MAAM,EACJ,SAAS,EAAE,EAAE,KAAK,EAAE,GACrB,GAAG,KAAK,CAAC;IAEV,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,2BAA2B,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAC1F,CAAC,cAAc,EAAE,CAAC;IAEnB,OAAO,OAAO,CAAC,OAAO;SACnB,8BAA8B,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;QACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;QACnC,KAAK,EAAE,SAAS;KACjB,CAAC;SACD,QAAQ,CAAC;QACR,MAAM,EAAE;YACN,eAAe;YACf,KAAK;SACN;QACD,UAAU,EAAE,MAAM;KACnB,CAAC;SACD,iBAAiB,CAChB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9C,OAAO;YACL,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"distributeCompressionRewards.js","sourceRoot":"","sources":["../../../../src/functions/distributeCompressionRewards.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,QAAQ,EAAE,aAAa,EAAc,MAAM,mBAAmB,CAAC;AAG/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAkB,EAClE,OAAO,EACP,OAAO,EACP,eAAe,EACf,aAAa,EACb,UAAU,GAAG,QAAQ,EACrB,eAAe,GAAG,aAAa,GAYhC;IACC,aAAa;IACb,MAAM,QAAQ,GAAG,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;IAC3E,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3D;IACD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KACjE;IACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IACjD,MAAM,EACJ,SAAS,EAAE,EAAE,KAAK,EAAE,EACpB,WAAW,EAAE,EAAE,MAAM,EAAE,GACxB,GAAG,KAAK,CAAC;IACV,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,2BAA2B,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAC1F,CAAC,cAAc,EAAE,CAAC;IAEnB,OAAO,OAAO,CAAC,OAAO;SACnB,8BAA8B,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;QACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;QACnC,KAAK,EAAE,MAAO;KACf,CAAC;SACD,QAAQ,CAAC;QACR,MAAM,EAAE;YACN,eAAe;YACf,KAAK;SACN;QACD,UAAU,EAAE,MAAM;KACnB,CAAC;SACD,iBAAiB,CAChB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9C,OAAO;YACL,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACN,CAAC"}
@@ -1,27 +1,39 @@
1
- import { getAssetProof } from "@helium/spl-utils";
2
- export async function initializeCompressionRecipient({ program, assetId, lazyDistributor,
1
+ import { getAsset, getAssetProof } from "@helium/spl-utils";
2
+ import { BN } from "@coral-xyz/anchor";
3
+ import { ConcurrentMerkleTreeAccount } from "@solana/spl-account-compression";
4
+ import { recipientKey } from "../pdas";
5
+ import { getLeafAssetId } from "@metaplex-foundation/mpl-bubblegum";
6
+ export async function initializeCompressionRecipient({ program, assetId, lazyDistributor, assetEndpoint,
3
7
  // @ts-ignore
4
- owner = program.provider.wallet.publicKey, getAssetProofFn = getAssetProof, }) {
8
+ owner = program.provider.wallet.publicKey, getAssetFn = getAsset, getAssetProofFn = getAssetProof, }) {
5
9
  // @ts-ignore
6
- const endpoint = program.provider.connection._rpcEndpoint;
7
- const asset = await getAssetProofFn(endpoint, assetId);
10
+ const endpoint = assetEndpoint || program.provider.connection._rpcEndpoint;
11
+ const asset = await getAssetFn(endpoint, assetId);
8
12
  if (!asset) {
9
13
  throw new Error("No asset with ID " + assetId.toBase58());
10
14
  }
11
- const { root, proof, leaf, treeId, nodeIndex } = asset;
15
+ const assetProof = await getAssetProofFn(endpoint, assetId);
16
+ if (!assetProof) {
17
+ throw new Error("No asset with ID " + assetId.toBase58());
18
+ }
19
+ const { compression: { leafId }, } = asset;
20
+ const { root, proof, leaf, treeId } = assetProof;
21
+ const canopy = await (await ConcurrentMerkleTreeAccount.fromAccountAddress(program.provider.connection, treeId)).getCanopyDepth();
22
+ const recipient = recipientKey(lazyDistributor, await getLeafAssetId(treeId, new BN(leafId)))[0];
12
23
  return program.methods
13
24
  .initializeCompressionRecipientV0({
14
25
  hash: leaf.toBuffer().toJSON().data,
15
26
  root: root.toBuffer().toJSON().data,
16
- index: nodeIndex,
27
+ index: leafId,
17
28
  })
18
29
  .accounts({
19
30
  lazyDistributor,
20
31
  merkleTree: treeId,
21
32
  owner: owner,
22
33
  delegate: owner,
34
+ recipient
23
35
  })
24
- .remainingAccounts(proof.map((p) => {
36
+ .remainingAccounts(proof.slice(0, proof.length - canopy).map((p) => {
25
37
  return {
26
38
  pubkey: p,
27
39
  isWritable: false,
@@ -1 +1 @@
1
- {"version":3,"file":"initializeCompressionRecipient.js","sourceRoot":"","sources":["../../../../src/functions/initializeCompressionRecipient.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAI9D,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,EACnD,OAAO,EACP,OAAO,EACP,eAAe;AACf,aAAa;AACb,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EACzC,eAAe,GAAG,aAAa,GAUhC;IACC,aAAa;IACb,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3D;IACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAEvD,OAAO,OAAO,CAAC,OAAO;SACnB,gCAAgC,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;QACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;QACnC,KAAK,EAAE,SAAS;KACjB,CAAC;SACD,QAAQ,CAAC;QACR,eAAe;QACf,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;KAChB,CAAC;SACD,iBAAiB,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACd,OAAO;YACL,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"initializeCompressionRecipient.js","sourceRoot":"","sources":["../../../../src/functions/initializeCompressionRecipient.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,EAAE,EAAgB,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,EACnD,OAAO,EACP,OAAO,EACP,eAAe,EACf,aAAa;AACb,aAAa;AACb,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EACzC,UAAU,GAAG,QAAQ,EACrB,eAAe,GAAG,aAAa,GAYhC;IACC,aAAa;IACb,MAAM,QAAQ,GAAG,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;IAE3E,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3D;IAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3D;IACD,MAAM,EACJ,WAAW,EAAE,EAAE,MAAM,EAAE,GACxB,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IACjD,MAAM,MAAM,GAAG,MAAK,CAClB,MAAM,2BAA2B,CAAC,kBAAkB,CAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,EAC3B,MAAM,CACP,CACF,CAAC,cAAc,EAAE,CAAC;IAEnB,MAAM,SAAS,GAAG,YAAY,CAAC,eAAe,EAAE,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEjG,OAAO,OAAO,CAAC,OAAO;SACnB,gCAAgC,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;QACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;QACnC,KAAK,EAAE,MAAO;KACf,CAAC;SACD,QAAQ,CAAC;QACR,eAAe;QACf,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,SAAS;KACV,CAAC;SACD,iBAAiB,CAChB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9C,OAAO;YACL,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACN,CAAC"}
@@ -3,17 +3,7 @@ import { PROGRAM_ID } from "./constants";
3
3
  export function lazyDistributorKey(mint, programId = PROGRAM_ID) {
4
4
  return PublicKey.findProgramAddressSync([Buffer.from("lazy_distributor", "utf-8"), mint.toBuffer()], programId);
5
5
  }
6
- export function recipientKey(lazyDistributor, mint, programId = PROGRAM_ID) {
7
- return PublicKey.findProgramAddressSync([Buffer.from("recipient", "utf-8"), lazyDistributor.toBuffer(), mint.toBuffer()], programId);
8
- }
9
- export function compressedRecipientKey(lazyDistributor, merkleTree, index, programId = PROGRAM_ID) {
10
- const indexBuf = Buffer.alloc(4);
11
- indexBuf.writeInt32LE(index);
12
- return PublicKey.findProgramAddressSync([
13
- Buffer.from("recipient", "utf-8"),
14
- lazyDistributor.toBuffer(),
15
- merkleTree.toBuffer(),
16
- indexBuf
17
- ], programId);
6
+ export function recipientKey(lazyDistributor, asset, programId = PROGRAM_ID) {
7
+ return PublicKey.findProgramAddressSync([Buffer.from("recipient", "utf-8"), lazyDistributor.toBuffer(), asset.toBuffer()], programId);
18
8
  }
19
9
  //# sourceMappingURL=pdas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdas.js","sourceRoot":"","sources":["../../../src/pdas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,UAAU,kBAAkB,CAChC,IAAe,EACf,YAAuB,UAAU;IAEjC,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAC3D,SAAS,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,eAA0B,EAC1B,IAAe,EACf,YAAuB,UAAU;IAEjC,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAChF,SAAS,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,eAA0B,EAC1B,UAAqB,EACrB,KAAa,EACb,YAAuB,UAAU;IAEjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,SAAS,CAAC,sBAAsB,CACrC;QACE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;QACjC,eAAe,CAAC,QAAQ,EAAE;QAC1B,UAAU,CAAC,QAAQ,EAAE;QACrB,QAAQ;KACT,EACD,SAAS,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pdas.js","sourceRoot":"","sources":["../../../src/pdas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,UAAU,kBAAkB,CAChC,IAAe,EACf,YAAuB,UAAU;IAEjC,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAC3D,SAAS,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,eAA0B,EAC1B,KAAgB,EAChB,YAAuB,UAAU;IAEjC,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,EACjF,SAAS,CACV,CAAC;AACJ,CAAC"}
@@ -3,7 +3,9 @@ import { PROGRAM_ID as TOKEN_METADATA_PROGRAM_ID } from "@metaplex-foundation/mp
3
3
  import { getAccount, getAssociatedTokenAddress } from "@solana/spl-token";
4
4
  import { PublicKey } from "@solana/web3.js";
5
5
  import { circuitBreakerResolvers } from "@helium/circuit-breaker-sdk";
6
- import { compressedRecipientKey, recipientKey } from "./pdas";
6
+ import { recipientKey } from "./pdas";
7
+ import { getLeafAssetId } from "@metaplex-foundation/mpl-bubblegum";
8
+ import { BN } from "bn.js";
7
9
  export const lazyDistributorResolvers = combineResolvers(resolveIndividual(async ({ path }) => {
8
10
  switch (path[path.length - 1]) {
9
11
  case "tokenMetadataProgram":
@@ -50,7 +52,7 @@ export const lazyDistributorResolvers = combineResolvers(resolveIndividual(async
50
52
  accounts.merkleTree &&
51
53
  common.lazyDistributor &&
52
54
  !common.recipient) {
53
- common.recipient = compressedRecipientKey(common.lazyDistributor, accounts.merkleTree, args[2])[0];
55
+ common.recipient = recipientKey(common.lazyDistributor, await getLeafAssetId(accounts.merkleTree, new BN(args[0].index)))[0];
54
56
  resolved++;
55
57
  }
56
58
  if (idlIx.name === "distributeRewardsV0" &&
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../src/resolvers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../src/resolvers.ts"],"names":[],"mappings":"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"}