Skip to main content
ArcBlock Community

通过代理为第三方购买资产

shenxiuqiang
Developers
blocklet-server

不知道这算不算BUG:

使用delegate后可以扣除 alice 的资产,但是 asset属于server,而不是设置的owner bob,这个owner并不是我理解的那样会转给bob:

image.png

javascript
/* eslint-disable @typescript-eslint/no-unused-vars */
const GraphQLClient = require('@ocap/client');
const getWallet = require('@blocklet/sdk/lib/wallet');
const env = require('./env');
const { aliceWallet, bobWallet } = require('./accont');

const logger = console;
const wallet = getWallet();
const client = new GraphQLClient(env.chainHost);
const endpoint = `${env.appUrl}/download/id`;
const factory = 'z3CtFVtpJ6AG4Bvd2eMf9sEiY5dvTR1gPdiRC';
const subject = 'mail subject';
const inputs = { endpoint, subject };

(async () => {
  const [hash] = await client.delegate({
    from: aliceWallet,
    to: wallet,
    privileges: [
      {
        typeUrl: 'fg:t:acquire_asset_v2',
      },
    ],
  });
  const itx = await client.preMintAsset({
    factory,
    inputs,
    owner: bobWallet.address,
    wallet,
  });
  client.acquireAsset({
    itx,
    delegator: aliceWallet.address,
    wallet,
  });
})();

2 replies

shenxiuqiang2 years ago

是不是可以在factoy里设置hook 将 NFT转给 owner,不知该怎样写,是否有更详细文档

image.png

wangshijun2 years ago

目前 hook 里面只支持 transferToken

Reply