@ocap/client 1.6.3 → 1.6.10

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.
Files changed (60) hide show
  1. package/README.md +1 -1
  2. package/dist/base.js +36 -22
  3. package/dist/base.js.map +1 -1
  4. package/dist/browser.d.ts +997 -590
  5. package/dist/browser.js +1 -8
  6. package/dist/browser.js.map +1 -1
  7. package/dist/bundle.js +3 -3
  8. package/dist/client.js +11 -7
  9. package/dist/client.js.map +1 -1
  10. package/dist/extension.js +502 -462
  11. package/dist/extension.js.map +1 -1
  12. package/dist/methods.js +0 -142
  13. package/dist/methods.js.map +1 -1
  14. package/dist/report.html +2 -2
  15. package/dist/schema/graphql.json +9048 -4442
  16. package/dist/schema/graphql.txt +2 -2
  17. package/dist/types.js +2143 -1924
  18. package/dist/types.js.map +1 -1
  19. package/docs/QUERIES.md +1547 -1494
  20. package/docs/README.md +3269 -3138
  21. package/examples/asset.js +7 -7
  22. package/examples/create-secondary-token.js +44 -0
  23. package/examples/declare.js +9 -9
  24. package/examples/{delegate_exchange_both.js → delegate-exchange-both.js} +12 -8
  25. package/examples/{delegate_exchange.js → delegate-exchange.js} +11 -7
  26. package/examples/{delegate_transfer.js → delegate-transfer.js} +12 -6
  27. package/examples/exchange-secondary-token.js +100 -0
  28. package/examples/exchange.js +9 -9
  29. package/examples/{migrate_account.js → migrate-account.js} +5 -5
  30. package/examples/run-no-debug.sh +8 -8
  31. package/examples/run.sh +8 -8
  32. package/examples/subscribe.js +16 -0
  33. package/examples/{transfer_asset.js → transfer-asset.js} +11 -11
  34. package/examples/{transfer_token.js → transfer-primary-token.js} +10 -10
  35. package/examples/transfer-secondary-token.js +62 -0
  36. package/lib/base.js +36 -22
  37. package/lib/base.js.map +1 -1
  38. package/lib/client.js +11 -7
  39. package/lib/client.js.map +1 -1
  40. package/lib/extension.js +502 -462
  41. package/lib/extension.js.map +1 -1
  42. package/lib/methods.js +0 -142
  43. package/lib/methods.js.map +1 -1
  44. package/lib/node.d.ts +997 -590
  45. package/lib/node.js +0 -6
  46. package/lib/node.js.map +1 -1
  47. package/lib/schema/graphql.json +9048 -4442
  48. package/lib/schema/graphql.txt +2 -2
  49. package/lib/types.js +2143 -1924
  50. package/lib/types.js.map +1 -1
  51. package/package.json +30 -32
  52. package/examples/atomic_swap.js +0 -145
  53. package/examples/consume_asset_gatekeeper.js +0 -105
  54. package/examples/consume_asset_simple.js +0 -91
  55. package/examples/declare_forgeweb.js +0 -60
  56. package/examples/declare_restricted.js +0 -47
  57. package/examples/delegate_atomic_swap.js +0 -177
  58. package/examples/get_free_token.js +0 -33
  59. package/examples/subscribe_new_block.js +0 -36
  60. package/examples/subscribe_transfer.js +0 -80
@@ -1,177 +0,0 @@
1
- /* eslint-disable import/no-extraneous-dependencies */
2
- /* eslint no-console:"off" */
3
-
4
- /**
5
- * This script demonstrates how to do atomic swap between two chains
6
- * This script requires 2 running chain
7
- *
8
- * Run script with: `DEBUG=@ocap/client node examples/atomic_swap.js`
9
- */
10
-
11
- const GraphQLClient = require('@ocap/client');
12
- const { getRandomBytes, Hasher } = require('@ocap/mcrypto');
13
- const { fromRandom } = require('@ocap/wallet');
14
-
15
- const appChain = new GraphQLClient({ endpoint: 'http://localhost:8210/api' });
16
- const assetChain = new GraphQLClient({ endpoint: 'http://localhost:8211/api' });
17
-
18
- const sleep = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));
19
-
20
- (async () => {
21
- try {
22
- const alice = fromRandom(); // buyer
23
- const bob = fromRandom(); // seller
24
- const betty = fromRandom();
25
- const lily = fromRandom();
26
- console.log({
27
- alice: alice.toAddress(),
28
- bob: bob.toAddress(),
29
- betty: betty.toAddress(),
30
- lily: lily.toAddress(),
31
- });
32
-
33
- const declare = async (wallet, moniker) => {
34
- let hash = await appChain.declare({ moniker, wallet });
35
- console.log(`declare.appChain.${moniker}`, hash);
36
-
37
- hash = await assetChain.declare({ moniker, wallet });
38
- console.log(`declare.assetChain.${moniker}`, hash);
39
- };
40
-
41
- const delegate = async (from, to) => {
42
- const params = {
43
- from,
44
- to,
45
- privileges: [
46
- { typeUrl: 'fg:t:setup_swap', rules: [] },
47
- { typeUrl: 'fg:t:revoke_swap', rules: [] },
48
- { typeUrl: 'fg:t:retrieve_swap', rules: [] },
49
- ],
50
- };
51
-
52
- let [hash] = await appChain.delegate(params);
53
- console.log('delegate.appChain.hash', hash);
54
-
55
- [hash] = await assetChain.delegate(params);
56
- console.log('delegate.assetChain.hash', hash);
57
- };
58
-
59
- // declare
60
- await declare(alice, 'user_alice');
61
- await declare(bob, 'user_bob');
62
- await declare(betty, 'user_betty');
63
- await declare(lily, 'user_lily');
64
- await sleep(3000);
65
-
66
- // delegate
67
- await delegate(alice, betty);
68
- await delegate(bob, lily);
69
- await sleep(3000);
70
-
71
- // 3. ensure asset for seller on app chain
72
- const ensureSellerAsset = async () => {
73
- const [hash, address] = await appChain.createAsset({
74
- moniker: 'asset',
75
- data: {
76
- typeUrl: 'json',
77
- value: {
78
- key: 'value2',
79
- sn: Math.random(),
80
- },
81
- },
82
- wallet: bob,
83
- });
84
- console.log('ensureSellerAsset', hash, address);
85
- return address;
86
- };
87
-
88
- // ensure token for buyer on asset chain
89
- const ensureBuyerToken = async () => {
90
- const hash = await assetChain.checkin({ wallet: alice });
91
- console.log('ensureSellerAsset', hash);
92
- };
93
-
94
- // setup swap on asset chain
95
- const doBuyerSetup = async (asset, hashlock) => {
96
- const hash = await assetChain.setupSwap({
97
- token: 10,
98
- assets: [],
99
- receiver: bob.toAddress(),
100
- delegator: alice.toAddress(),
101
- hashlock,
102
- wallet: betty,
103
- });
104
- console.log('doBuyerSetup', hash);
105
- return hash;
106
- };
107
-
108
- // setup swap on app chain
109
- const doSellerSetup = async (asset, hashlock) => {
110
- const hash = await appChain.setupSwap({
111
- token: 0,
112
- assets: [asset],
113
- receiver: alice.toAddress(),
114
- delegator: bob.toAddress(),
115
- hashlock,
116
- wallet: lily,
117
- });
118
- console.log('doSellerSetup', hash);
119
- return hash;
120
- };
121
-
122
- // retrieve swap on app chain
123
- const doBuyerRetrieve = async (address, hashkey) => {
124
- const hash = await appChain.retrieveSwap({
125
- address,
126
- hashkey,
127
- delegator: alice.toAddress(),
128
- wallet: betty,
129
- });
130
- console.log('doBuyerRetrieve', hash);
131
- };
132
-
133
- // retrieve swap on asset chain
134
- const doSellerRetrieve = async (address, hashkey) => {
135
- const hash = await assetChain.retrieveSwap({
136
- address,
137
- hashkey,
138
- delegator: bob.toAddress(),
139
- wallet: lily,
140
- });
141
- console.log('doSellerRetrieve', hash);
142
- };
143
-
144
- // token and asset
145
- const asset = await ensureSellerAsset();
146
- console.log('asset', asset);
147
- await ensureBuyerToken();
148
- await sleep(3000);
149
-
150
- // Setup swap by buyer
151
- const hashkey = getRandomBytes(32);
152
- const hashlock = Hasher.SHA3.hash256(hashkey);
153
- const [buyerSetupHash, buyerSwapAddress] = await doBuyerSetup(asset, hashlock);
154
- const [sellerSetupHash, sellerSwapAddress] = await doSellerSetup(asset, hashlock);
155
- console.log('setup', {
156
- hashkey,
157
- hashlock,
158
- buyerSetupHash,
159
- buyerSwapAddress,
160
- sellerSetupHash,
161
- sellerSwapAddress,
162
- });
163
- await sleep(5000);
164
-
165
- // Inspect swap
166
- const buyerSwapState = await assetChain.getSwapState({ address: buyerSwapAddress });
167
- const sellerSwapState = await appChain.getSwapState({ address: sellerSwapAddress });
168
- console.log('buyerSwapState', buyerSwapState);
169
- console.log('sellerSwapState', sellerSwapState);
170
-
171
- await doBuyerRetrieve(sellerSwapAddress, hashkey);
172
- await doSellerRetrieve(buyerSwapAddress, hashkey);
173
- } catch (err) {
174
- console.error(err);
175
- console.log(JSON.stringify(err.errors));
176
- }
177
- })();
@@ -1,33 +0,0 @@
1
- /* eslint-disable import/no-extraneous-dependencies */
2
- /* eslint no-console:"off" */
3
-
4
- /**
5
- * This script demonstrates how to declare account and get some free token for the account
6
- *
7
- * Run script with: `DEBUG=@ocap/client node examples/get_free_token.js`
8
- */
9
- const GraphqlClient = require('@ocap/client');
10
- const { fromRandom } = require('@ocap/wallet');
11
-
12
- const endpoint = process.env.FORGE_API_HOST || 'http://127.0.0.1:8210'; // testnet
13
-
14
- const client = new GraphqlClient(`${endpoint}/api`);
15
- (async () => {
16
- try {
17
- const wallet = fromRandom();
18
- let res = await client.declare({
19
- moniker: `poke_user_${Math.round(Math.random() * 10000)}`,
20
- wallet,
21
- });
22
-
23
- console.log('declare.result', res);
24
- console.log('view account', `${endpoint}/node/explorer/accounts/${wallet.toAddress()}`);
25
-
26
- res = await client.checkin({ wallet });
27
- console.log('poke.result', res);
28
- console.log('view tx', `${endpoint}/node/explorer/txs/${res}`);
29
- } catch (err) {
30
- console.error(err);
31
- console.log(JSON.stringify(err.errors));
32
- }
33
- })();
@@ -1,36 +0,0 @@
1
- /* eslint-disable import/no-extraneous-dependencies */
2
- /* eslint no-console:"off" */
3
-
4
- /**
5
- * This script demonstrates how to subscribe a transfer
6
- *
7
- * Run script with: `DEBUG=@ocap/client node examples/subscribe_new_block.js`
8
- */
9
- const GraphqlClient = require('../lib/node');
10
-
11
- const endpoint = process.env.FORGE_API_HOST || 'http://127.0.0.1:8210';
12
- // const endpoint = process.env.FORGE_API_HOST || 'https://xenon.abtnetwork.io';
13
- // const endpoint = process.env.FORGE_API_HOST || 'https://playground.network.arcblockio.cn';
14
-
15
- const client = new GraphqlClient(`${endpoint}/api`);
16
-
17
- (async () => {
18
- try {
19
- const subscription = await client.doRawSubscription(`
20
- subscription {
21
- subscribe(topic: "end_block") {
22
- topic
23
- endBlock {
24
- height
25
- }
26
- }
27
- }
28
- `);
29
-
30
- subscription.on('data', (d) => console.log('onNewBlock', d));
31
- subscription.on('error', console.error);
32
- } catch (err) {
33
- console.error(err);
34
- console.log(JSON.stringify(err.errors));
35
- }
36
- })();
@@ -1,80 +0,0 @@
1
- /* eslint-disable import/no-extraneous-dependencies */
2
- /* eslint no-console:"off" */
3
-
4
- /**
5
- * This script demonstrates how to subscribe a transfer
6
- *
7
- * Run script with: `DEBUG=@ocap/client node examples/subscribe_transfer.js`
8
- */
9
- const { fromRandom } = require('@ocap/wallet');
10
- const GraphqlClient = require('../lib/node');
11
-
12
- const endpoint = process.env.FORGE_API_HOST || 'http://127.0.0.1:8210';
13
- // const endpoint = process.env.FORGE_API_HOST || 'https://xenon.abtnetwork.io';
14
- // const endpoint = process.env.FORGE_API_HOST || 'https://playground.network.arcblockio.cn';
15
-
16
- const client = new GraphqlClient(`${endpoint}/api`);
17
- const sleep = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));
18
-
19
- (async () => {
20
- try {
21
- const subscription = await client.doRawSubscription(`
22
- subscription {
23
- subscribe(topic: "transfer") {
24
- topic
25
- transfer {
26
- chainId
27
- delegator
28
- from
29
- itxJson
30
- nonce
31
- pk
32
- signature
33
- signatures {
34
- delegator
35
- pk
36
- signature
37
- signer
38
- data {
39
- typeUrl
40
- value
41
- }
42
- }
43
- }
44
- }
45
- }
46
- `);
47
-
48
- subscription.on('data', (d) => console.log('onTransfer', d));
49
- subscription.on('error', console.error);
50
-
51
- const sender = fromRandom();
52
- const receiver = fromRandom();
53
- console.log({ sender: sender.toJSON() });
54
- console.log({ receiver: receiver.toJSON() });
55
-
56
- const declare = async (wallet, name) => client.declare({ moniker: name, wallet });
57
- const checkin = async (wallet) => client.checkin({ wallet });
58
-
59
- // 1. declare user
60
- console.log('declare sender', await declare(sender, 'sender'));
61
- console.log('declare receiver', await declare(receiver, 'receiver'));
62
- await sleep(3000);
63
-
64
- // 2. checkin
65
- console.log('checkin sender', await checkin(sender));
66
- console.log('checkin receiver', await checkin(receiver));
67
- await sleep(3000);
68
-
69
- // 5. Transfer token
70
- const hash = await client.transfer({
71
- to: receiver.toAddress(),
72
- token: 10,
73
- wallet: sender,
74
- });
75
- console.log('transfer.hash', hash);
76
- } catch (err) {
77
- console.error(err);
78
- console.log(JSON.stringify(err.errors));
79
- }
80
- })();