@functionland/react-native-fula 1.14.7 → 1.19.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.
Files changed (141) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +226 -214
  3. package/android/build.gradle +110 -110
  4. package/android/gradle.properties +5 -5
  5. package/android/src/main/AndroidManifest.xml +3 -3
  6. package/android/src/main/AndroidManifestNew.xml +2 -2
  7. package/android/src/main/java/land/fx/fula/ConfigRef.java +7 -7
  8. package/android/src/main/java/land/fx/fula/Cryptography.java +62 -62
  9. package/android/src/main/java/land/fx/fula/FulaModule.java +1435 -1466
  10. package/android/src/main/java/land/fx/fula/FulaPackage.java +32 -32
  11. package/android/src/main/java/land/fx/fula/SharedPreferenceHelper.java +65 -65
  12. package/android/src/main/java/land/fx/fula/StaticHelper.java +13 -13
  13. package/android/src/main/java/land/fx/fula/ThreadUtils.java +42 -42
  14. package/ios/Cryptography.swift +49 -49
  15. package/ios/Fula-Bridging-Header.h +3 -3
  16. package/ios/Fula.mm +197 -199
  17. package/ios/Fula.swift +1221 -1221
  18. package/ios/UserDataHelper.swift +143 -143
  19. package/lib/commonjs/index.js +2 -2
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/interfaces/augment-api-errors.js +4 -0
  22. package/lib/commonjs/interfaces/augment-api-errors.js.map +1 -0
  23. package/lib/commonjs/interfaces/augment-api-rpc.js +4 -0
  24. package/lib/commonjs/interfaces/augment-api-rpc.js.map +1 -0
  25. package/lib/commonjs/interfaces/augment-api-runtime.js +4 -0
  26. package/lib/commonjs/interfaces/augment-api-runtime.js.map +1 -0
  27. package/lib/commonjs/interfaces/augment-api.js +10 -0
  28. package/lib/commonjs/interfaces/augment-api.js.map +1 -0
  29. package/lib/commonjs/interfaces/augment-types.js +4 -0
  30. package/lib/commonjs/interfaces/augment-types.js.map +1 -0
  31. package/lib/commonjs/interfaces/fulaNativeModule.js +1 -2
  32. package/lib/commonjs/interfaces/fulaNativeModule.js.map +1 -1
  33. package/lib/commonjs/interfaces/index.js +6 -0
  34. package/lib/commonjs/interfaces/index.js.map +1 -0
  35. package/lib/commonjs/interfaces/{api-lookup.js → lookup.js} +623 -382
  36. package/lib/commonjs/interfaces/lookup.js.map +1 -0
  37. package/lib/commonjs/interfaces/registry.js +4 -0
  38. package/lib/commonjs/interfaces/registry.js.map +1 -0
  39. package/lib/commonjs/interfaces/types-lookup.js +4 -0
  40. package/lib/commonjs/interfaces/types-lookup.js.map +1 -0
  41. package/lib/commonjs/interfaces/types.js +4 -0
  42. package/lib/commonjs/interfaces/types.js.map +1 -0
  43. package/lib/commonjs/protocols/blockchain.js +123 -76
  44. package/lib/commonjs/protocols/blockchain.js.map +1 -1
  45. package/lib/commonjs/protocols/chain-api.js +151 -37
  46. package/lib/commonjs/protocols/chain-api.js.map +1 -1
  47. package/lib/commonjs/protocols/fula.js +195 -99
  48. package/lib/commonjs/protocols/fula.js.map +1 -1
  49. package/lib/commonjs/protocols/fxblox.js +3 -3
  50. package/lib/commonjs/protocols/fxblox.js.map +1 -1
  51. package/lib/commonjs/types/blockchain.js.map +1 -1
  52. package/lib/commonjs/types/fxblox.js.map +1 -1
  53. package/lib/module/index.js.map +1 -1
  54. package/lib/module/interfaces/augment-api-errors.js +9 -0
  55. package/lib/module/interfaces/augment-api-errors.js.map +1 -0
  56. package/lib/module/interfaces/augment-api-rpc.js +9 -0
  57. package/lib/module/interfaces/augment-api-rpc.js.map +1 -0
  58. package/lib/module/interfaces/augment-api-runtime.js +9 -0
  59. package/lib/module/interfaces/augment-api-runtime.js.map +1 -0
  60. package/lib/module/interfaces/augment-api.js +11 -0
  61. package/lib/module/interfaces/augment-api.js.map +1 -0
  62. package/lib/module/interfaces/augment-types.js +9 -0
  63. package/lib/module/interfaces/augment-types.js.map +1 -0
  64. package/lib/module/interfaces/fulaNativeModule.js.map +1 -1
  65. package/lib/module/interfaces/index.js +5 -0
  66. package/lib/module/interfaces/index.js.map +1 -0
  67. package/lib/module/interfaces/{api-lookup.js → lookup.js} +622 -380
  68. package/lib/module/interfaces/lookup.js.map +1 -0
  69. package/lib/module/interfaces/registry.js +9 -0
  70. package/lib/module/interfaces/registry.js.map +1 -0
  71. package/lib/module/interfaces/types-lookup.js +9 -0
  72. package/lib/module/interfaces/types-lookup.js.map +1 -0
  73. package/lib/module/interfaces/types.js +3 -0
  74. package/lib/module/interfaces/types.js.map +1 -0
  75. package/lib/module/protocols/blockchain.js +120 -75
  76. package/lib/module/protocols/blockchain.js.map +1 -1
  77. package/lib/module/protocols/chain-api.js +142 -31
  78. package/lib/module/protocols/chain-api.js.map +1 -1
  79. package/lib/module/protocols/fula.js +191 -99
  80. package/lib/module/protocols/fula.js.map +1 -1
  81. package/lib/module/protocols/fxblox.js +3 -3
  82. package/lib/module/protocols/fxblox.js.map +1 -1
  83. package/lib/module/types/blockchain.js.map +1 -1
  84. package/lib/module/types/fxblox.js.map +1 -1
  85. package/lib/typescript/interfaces/augment-api-errors.d.ts +442 -0
  86. package/lib/typescript/interfaces/augment-api-errors.d.ts.map +1 -0
  87. package/lib/typescript/interfaces/augment-api-rpc.d.ts +680 -0
  88. package/lib/typescript/interfaces/augment-api-rpc.d.ts.map +1 -0
  89. package/lib/typescript/interfaces/augment-api-runtime.d.ts +248 -0
  90. package/lib/typescript/interfaces/augment-api-runtime.d.ts.map +1 -0
  91. package/lib/typescript/interfaces/augment-api.d.ts +8 -0
  92. package/lib/typescript/interfaces/augment-api.d.ts.map +1 -0
  93. package/lib/typescript/interfaces/augment-types.d.ts +1224 -0
  94. package/lib/typescript/interfaces/augment-types.d.ts.map +1 -0
  95. package/lib/typescript/interfaces/fulaNativeModule.d.ts +7 -3
  96. package/lib/typescript/interfaces/fulaNativeModule.d.ts.map +1 -1
  97. package/lib/typescript/interfaces/index.d.ts +1 -0
  98. package/lib/typescript/interfaces/index.d.ts.map +1 -0
  99. package/lib/typescript/interfaces/{api-lookup.d.ts → lookup.d.ts} +441 -199
  100. package/lib/typescript/interfaces/lookup.d.ts.map +1 -0
  101. package/lib/typescript/interfaces/registry.d.ts +146 -0
  102. package/lib/typescript/interfaces/registry.d.ts.map +1 -0
  103. package/lib/typescript/interfaces/types-lookup.d.ts +1910 -0
  104. package/lib/typescript/interfaces/types-lookup.d.ts.map +1 -0
  105. package/lib/typescript/interfaces/types.d.ts +1 -0
  106. package/lib/typescript/interfaces/types.d.ts.map +1 -0
  107. package/lib/typescript/protocols/blockchain.d.ts +5 -3
  108. package/lib/typescript/protocols/blockchain.d.ts.map +1 -1
  109. package/lib/typescript/protocols/chain-api.d.ts +5 -0
  110. package/lib/typescript/protocols/chain-api.d.ts.map +1 -1
  111. package/lib/typescript/protocols/fula.d.ts +16 -0
  112. package/lib/typescript/protocols/fula.d.ts.map +1 -1
  113. package/lib/typescript/types/blockchain.d.ts +6 -0
  114. package/lib/typescript/types/blockchain.d.ts.map +1 -1
  115. package/package.json +178 -172
  116. package/react-native-fula.podspec +47 -47
  117. package/src/index.tsx +4 -4
  118. package/src/interfaces/augment-api-errors.ts +449 -0
  119. package/src/interfaces/augment-api-rpc.ts +617 -0
  120. package/src/interfaces/augment-api-runtime.ts +224 -0
  121. package/src/interfaces/augment-api.ts +10 -0
  122. package/src/interfaces/augment-types.ts +1230 -0
  123. package/src/interfaces/fulaNativeModule.ts +130 -122
  124. package/src/interfaces/index.ts +4 -0
  125. package/src/interfaces/{api-lookup.ts → lookup.ts} +1889 -1647
  126. package/src/interfaces/registry.ts +152 -0
  127. package/src/interfaces/types-lookup.ts +2043 -0
  128. package/src/interfaces/types.ts +3 -0
  129. package/src/protocols/blockchain.ts +549 -504
  130. package/src/protocols/chain-api.ts +148 -24
  131. package/src/protocols/fula.ts +419 -314
  132. package/src/protocols/fxblox.ts +49 -49
  133. package/src/types/blockchain.ts +89 -81
  134. package/src/types/fxblox.ts +8 -8
  135. package/ios/Fula.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  136. package/ios/Fula.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  137. package/ios/Fula.xcodeproj/project.xcworkspace/xcuserdata/user246549.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  138. package/ios/Fula.xcodeproj/xcuserdata/user246549.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  139. package/lib/commonjs/interfaces/api-lookup.js.map +0 -1
  140. package/lib/module/interfaces/api-lookup.js.map +0 -1
  141. package/lib/typescript/interfaces/api-lookup.d.ts.map +0 -1
@@ -3,19 +3,21 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.listPools = exports.init = exports.disconnectApi = exports.checkJoinRequest = void 0;
7
- var _apiLookup = _interopRequireDefault(require("../interfaces/api-lookup"));
8
- var _api = require("@polkadot/api");
6
+ exports.listPools = exports.init = exports.getAccountIdFromSeed = exports.disconnectApi = exports.checkJoinRequest = exports.checkAccountBalance = exports.batchUploadManifest = void 0;
7
+ var _lookup = _interopRequireDefault(require("../interfaces/lookup"));
8
+ var _api6 = require("@polkadot/api");
9
+ var _keyring = require("@polkadot/keyring");
9
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- //import { Keyring } from '@polkadot/keyring';
11
-
11
+ const {
12
+ cryptoWaitReady
13
+ } = require('@polkadot/util-crypto');
12
14
  const types = {
13
- FulaPoolPool: _apiLookup.default.FulaPoolPool
15
+ FulaPoolPool: _lookup.default.FulaPoolPool
14
16
  };
15
17
  const init = async function () {
16
- let wsAddress = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wss://node3.functionyard.fx.land';
17
- const provider = new _api.WsProvider(wsAddress);
18
- const api = await _api.ApiPromise.create({
18
+ let wsAddress = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wss://node3.functionyard.fula.network';
19
+ const provider = new _api6.WsProvider(wsAddress);
20
+ const api = await _api6.ApiPromise.create({
19
21
  types,
20
22
  provider
21
23
  }).catch(err => {
@@ -29,58 +31,123 @@ const disconnectApi = async api => {
29
31
  await api.disconnect();
30
32
  };
31
33
 
34
+ /*function addDoubleSlashToSeed(seed: string): string {
35
+ return seed.startsWith('//') ? seed : '//' + seed;
36
+ }*/
37
+
32
38
  /*
33
- createAccount: This function takes a seed and returns am account
39
+ createManifest: This function batch uploads manifests
34
40
  */
35
- /*export const uploadManifest = async (
36
- api: ApiPromise | undefined,
37
- seed: string,
38
- manifest: typeof EventTypes.FunctionlandFulaCall._enum.upload_manifest
39
- ): Promise<BType.ManifestUploadResponse> => {
41
+ exports.disconnectApi = disconnectApi;
42
+ function serialize(obj) {
43
+ return JSON.stringify(obj);
44
+ }
45
+ function createManifest(cids, poolId) {
46
+ let replicationFactor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 4;
47
+ const manifest_metadata = cids.map(cid => ({
48
+ job: {
49
+ work: 'Storage',
50
+ engine: 'IPFS',
51
+ uri: cid
52
+ }
53
+ }));
54
+
55
+ // Serialize manifest_metadata to Uint8Array or string
56
+ const serializedManifest = manifest_metadata.map(item => serialize(item)); // Implement `serialize` accordingly
57
+
58
+ // Serialize cids to Uint8Array or string
59
+ const serializedCids = cids.map(cid => serialize(cid)); // Implement `serialize` accordingly
60
+
61
+ // Create arrays for `poolId` and `replicationFactor`
62
+ const poolIds = new Array(cids.length).fill(poolId);
63
+ const replicationFactors = new Array(cids.length).fill(replicationFactor);
64
+ const batchUploadManifest = {
65
+ manifest: serializedManifest,
66
+ cids: serializedCids,
67
+ poolId: poolIds,
68
+ replicationFactor: replicationFactors
69
+ };
70
+ return batchUploadManifest;
71
+ }
72
+ const batchUploadManifest = async function (api, seed, cids_i, poolId_i) {
73
+ let replicationFactor_i = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 4;
74
+ const {
75
+ manifest,
76
+ cids,
77
+ poolId,
78
+ replicationFactor
79
+ } = createManifest(cids_i, poolId_i, replicationFactor_i);
40
80
  console.log('uploadManifest in react-native started');
41
81
  try {
82
+ var _api;
42
83
  if (api === undefined) {
43
84
  api = await init();
44
85
  }
45
86
 
46
87
  // Simple transaction
47
- const keyring = new Keyring({ type: 'sr25519' });
48
- const userKey = keyring.addFromUri(seed, { name: 'account' });
49
- console.log(
50
- `${userKey.meta.name}: has address ${userKey.address} with publicKey [${userKey.publicKey}]`
51
- );
52
- const submitExtrinsic = await api.tx.manifest.upload(manifest);
53
- const unsub = await submitExtrinsic
54
- .signAndSend(userKey, ({ status, events }) => {
55
- if (status.isInBlock || status.isFinalized) {
56
- console.log(events);
57
- unsub();
58
- return Promise.resolve({ success: true });
59
- }
60
- })
61
- .catch((error) => {
62
- console.log(':( transaction failed', error);
63
- return Promise.reject(error);
64
- });
88
+ const keyring = new _keyring.Keyring({
89
+ type: 'sr25519'
90
+ });
91
+ const userKey = keyring.addFromUri(seed, {
92
+ name: 'account'
93
+ }, 'sr25519');
94
+ console.log(`${userKey.meta.name}: has address ${userKey.address} with publicKey [${userKey.publicKey}]`);
95
+ if ((_api = api) !== null && _api !== void 0 && (_api = _api.tx) !== null && _api !== void 0 && (_api = _api.fula) !== null && _api !== void 0 && _api.batchUploadManifest) {
96
+ const submitExtrinsic = api.tx.fula.batchUploadManifest(manifest, cids, poolId, replicationFactor);
97
+ let unsub; // Define a variable to hold the unsub function
98
+
99
+ if (submitExtrinsic) {
100
+ return new Promise((resolve, reject) => {
101
+ submitExtrinsic.signAndSend(userKey, _ref => {
102
+ let {
103
+ status
104
+ } = _ref;
105
+ if (status.isInBlock || status.isFinalized) {
106
+ if (unsub) {
107
+ unsub(); // Call unsub before resolving the promise
108
+ }
109
+
110
+ resolve({
111
+ hash: status.asInBlock.toString()
112
+ });
113
+ }
114
+ }).then(unsubFn => {
115
+ unsub = unsubFn; // Store the unsub function once it becomes available
116
+ }).catch(error => {
117
+ if (unsub) {
118
+ unsub(); // Call unsub before rejecting the promise
119
+ }
120
+
121
+ console.log(':( transaction failed', error);
122
+ reject(error);
123
+ });
124
+ });
125
+ } else {
126
+ return Promise.reject(new TypeError('submitExtrinsic not constructed'));
127
+ }
128
+ } else {
129
+ return Promise.reject(new TypeError('api not initialized'));
130
+ }
65
131
  } catch (err) {
66
132
  return Promise.reject(err);
67
133
  }
68
- };*/
134
+ };
69
135
 
70
136
  /*
71
137
  listPools: This function takes start index and length and returns a promise of an object that contains a list of pools. Each pool in the list contains the poolID, owner, poolName, parent, and participants of the pool
72
138
  */
73
- exports.disconnectApi = disconnectApi;
139
+ exports.batchUploadManifest = batchUploadManifest;
74
140
  const listPools = async function (api) {
75
141
  let start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
76
142
  let length = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
77
143
  console.log('listPools in react-native started');
78
144
  try {
145
+ var _api2, _api3;
79
146
  if (api === undefined) {
80
147
  api = await init();
81
148
  }
82
149
  // Type guard to assure TypeScript that api is not undefined
83
- if (!api || !api.query || !api.query.pool || !api.query.pool.lastPoolId || !api.query.pool.pools) {
150
+ if (!((_api2 = api) !== null && _api2 !== void 0 && (_api2 = _api2.query) !== null && _api2 !== void 0 && (_api2 = _api2.pool) !== null && _api2 !== void 0 && _api2.lastPoolId) || !((_api3 = api) !== null && _api3 !== void 0 && (_api3 = _api3.query) !== null && _api3 !== void 0 && (_api3 = _api3.pool) !== null && _api3 !== void 0 && _api3.pools)) {
84
151
  throw new Error('Failed to initialize api or api.query.pool');
85
152
  }
86
153
  const pools = {
@@ -114,11 +181,12 @@ exports.listPools = listPools;
114
181
  const checkJoinRequest = async (api, poolId, accountId) => {
115
182
  console.log('checkJoinRequest in react-native started');
116
183
  try {
184
+ var _api4;
117
185
  if (api === undefined) {
118
186
  api = await init();
119
187
  }
120
188
  // Type guard to assure TypeScript that api is not undefined
121
- if (!api || !api.query || !api.query.pool || !api.query.pool.poolRequests) {
189
+ if (!((_api4 = api) !== null && _api4 !== void 0 && (_api4 = _api4.query) !== null && _api4 !== void 0 && (_api4 = _api4.pool) !== null && _api4 !== void 0 && _api4.poolRequests)) {
122
190
  throw new Error('Failed to initialize api or api.query.pool');
123
191
  }
124
192
  const poolRequest = await api.query.pool.poolRequests(poolId, accountId);
@@ -132,4 +200,50 @@ const checkJoinRequest = async (api, poolId, accountId) => {
132
200
  }
133
201
  };
134
202
  exports.checkJoinRequest = checkJoinRequest;
203
+ function isAccountInfo(obj) {
204
+ return 'data' in obj && 'free' in obj.data;
205
+ }
206
+ /*
207
+ checkAccountExsists: This function takes accountId and checks if the account exists
208
+ */
209
+ const checkAccountBalance = async (api, accountId) => {
210
+ console.log('checkAcocuntExsists in react-native started');
211
+ try {
212
+ var _api5;
213
+ if (api === undefined) {
214
+ api = await init();
215
+ }
216
+ // Type guard to assure TypeScript that api is not undefined
217
+ if (!((_api5 = api) !== null && _api5 !== void 0 && (_api5 = _api5.query) !== null && _api5 !== void 0 && (_api5 = _api5.system) !== null && _api5 !== void 0 && _api5.account)) {
218
+ throw new Error('Failed to initialize api or api.query.account');
219
+ }
220
+ let balance;
221
+ let accountInfo = await api.query.system.account(accountId);
222
+ if (isAccountInfo(accountInfo)) {
223
+ balance = accountInfo.data.free;
224
+ }
225
+ if (balance && balance !== '0' && balance > 0) {
226
+ return Promise.resolve(balance.toHuman());
227
+ }
228
+ return Promise.resolve('0');
229
+ } catch (err) {
230
+ return Promise.reject(err);
231
+ }
232
+ };
233
+ exports.checkAccountBalance = checkAccountBalance;
234
+ const getAccountIdFromSeed = async seed => {
235
+ try {
236
+ await cryptoWaitReady();
237
+ const keyring = new _keyring.Keyring({
238
+ type: 'sr25519'
239
+ });
240
+ const account = keyring.addFromUri(seed, {
241
+ name: 'account'
242
+ }, 'sr25519');
243
+ return Promise.resolve(account.address);
244
+ } catch (err) {
245
+ return Promise.reject(err);
246
+ }
247
+ };
248
+ exports.getAccountIdFromSeed = getAccountIdFromSeed;
135
249
  //# sourceMappingURL=chain-api.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_apiLookup","_interopRequireDefault","require","_api","obj","__esModule","default","types","FulaPoolPool","EventTypes","init","wsAddress","arguments","length","undefined","provider","WsProvider","api","ApiPromise","create","catch","err","console","log","Promise","reject","exports","disconnectApi","disconnect","listPools","start","query","pool","lastPoolId","pools","Error","finalReturnedId","Number","toHuman","i","poolInfo","formattedPoolInfo","JSON","parse","stringify","push","resolve","checkJoinRequest","poolId","accountId","poolRequests","poolRequest","formattedPoolRequest"],"sourceRoot":"../../../src","sources":["protocols/chain-api.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_lookup","_interopRequireDefault","require","_api6","_keyring","obj","__esModule","default","cryptoWaitReady","types","FulaPoolPool","EventTypes","init","wsAddress","arguments","length","undefined","provider","WsProvider","api","ApiPromise","create","catch","err","console","log","Promise","reject","exports","disconnectApi","disconnect","serialize","JSON","stringify","createManifest","cids","poolId","replicationFactor","manifest_metadata","map","cid","job","work","engine","uri","serializedManifest","item","serializedCids","poolIds","Array","fill","replicationFactors","batchUploadManifest","manifest","seed","cids_i","poolId_i","replicationFactor_i","_api","keyring","Keyring","type","userKey","addFromUri","name","meta","address","publicKey","tx","fula","submitExtrinsic","unsub","resolve","signAndSend","_ref","status","isInBlock","isFinalized","hash","asInBlock","toString","then","unsubFn","error","TypeError","listPools","start","_api2","_api3","query","pool","lastPoolId","pools","Error","finalReturnedId","Number","toHuman","i","poolInfo","formattedPoolInfo","parse","push","checkJoinRequest","accountId","_api4","poolRequests","poolRequest","formattedPoolRequest","isAccountInfo","data","checkAccountBalance","_api5","system","account","balance","accountInfo","free","getAccountIdFromSeed"],"sourceRoot":"..\\..\\..\\src","sources":["protocols/chain-api.ts"],"mappings":"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"}