@mimicprotocol/test-ts 0.0.1-rc.9 → 0.1.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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,144 @@
1
+ # @mimicprotocol/test-ts
2
+
3
+ ## 0.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 45a5f9f: Add operations and dynamic call operation
8
+
9
+ ### Patch Changes
10
+
11
+ - 45a5f9f: Refactor intents to have operations and bump to runner version v0.1.0
12
+
13
+ ## 0.0.1
14
+
15
+ ### Patch Changes
16
+
17
+ - 54f7344: Add Polygon, Avalanche, and BNB chain support
18
+ - 9a993b0: Add getNativeBalance
19
+ - 8aa883e: Bump sdk and runner versions
20
+ - 32adf4f: Fix ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING for new node versions
21
+ - 72bb607: Fix relevant tokens query price filter
22
+ - 8853afe: Fix clashing Result import
23
+ - 2bbe278: update eslint config
24
+ - 1e48dff: Bump runner-node to version 0.0.1-rc.8
25
+ - da39b85: Added Tokens class
26
+ - 9530e1c: Revert test command directory change
27
+ - 4a47218: Add function filter to codegen
28
+ - 426a4fe: Environment refactored
29
+ - 73e9713: Add getCode function to get the code of an address (Only EVM)
30
+ - 52b567d: Align oracle types naming convention
31
+ - 6a4fb70: rename to use functions
32
+ - 7657416: Add address and chain to event data
33
+ - e1277c7: Refactor Result to use unwrap instead of value
34
+ - 73a7900: Add login, logout and profiles commands
35
+ - 323663a: Change directory to positional argument in init and test command
36
+ - 213f37f: Fix class names overlapping
37
+ - 73a9cde: Fix npx init
38
+ - faac37c: Ensure early returns in favor of else blocks
39
+ - 0a6602a: Handle oracle query errors
40
+ - 48352fe: Add runner target on compilation
41
+ - ed2d252: Refactor credentials commands
42
+ - 21aba8d: Improve mocks error messages
43
+ - 94ef728: add custom storage
44
+ - 5c8c562: Fix MockConfig validator
45
+ - d455822: Bump SDK version
46
+ - 7d2279d: Refactor codegen, compile, build, deploy and test commands and their parameters
47
+
48
+ ## 0.0.1-rc.41
49
+
50
+ ### Patch Changes
51
+
52
+ - 54f7344: Add Polygon, Avalanche, and BNB chain support
53
+
54
+ ## 0.0.1-rc.40
55
+
56
+ ### Patch Changes
57
+
58
+ - 32adf4f: Fix ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING for new node versions
59
+ - 2bbe278: update eslint config
60
+
61
+ ## 0.0.1-rc.39
62
+
63
+ ### Patch Changes
64
+
65
+ - 48352fe: Add runner target on compilation
66
+
67
+ ## 0.0.1-rc.38
68
+
69
+ ### Patch Changes
70
+
71
+ - 73e9713: Add getCode function to get the code of an address (Only EVM)
72
+
73
+ ## 0.0.1-rc.37
74
+
75
+ ### Patch Changes
76
+
77
+ - ed2d252: Refactor credentials commands
78
+ - 94ef728: add custom storage
79
+ - 7d2279d: Refactor codegen, compile, build, deploy and test commands and their parameters
80
+
81
+ ## 0.0.1-rc.36
82
+
83
+ ### Patch Changes
84
+
85
+ - 6a4fb70: rename to use functions
86
+
87
+ ## 0.0.1-rc.35
88
+
89
+ ### Patch Changes
90
+
91
+ - 9a993b0: Add getNativeBalance
92
+ - da39b85: Added Tokens class
93
+ - 426a4fe: Environment refactored
94
+
95
+ ## 0.0.1-rc.34
96
+
97
+ ### Patch Changes
98
+
99
+ - 73a7900: Add login, logout and profiles commands
100
+ - d455822: Bump SDK version
101
+
102
+ ## 0.0.1-rc.33
103
+
104
+ ### Patch Changes
105
+
106
+ - 9530e1c: Revert test command directory change
107
+ - 21aba8d: Improve mocks error messages
108
+ - 5c8c562: Fix MockConfig validator
109
+
110
+ ## 0.0.1-rc.32
111
+
112
+ ### Patch Changes
113
+
114
+ - 8853afe: Fix clashing Result import
115
+ - e1277c7: Refactor Result to use unwrap instead of value
116
+ - 323663a: Change directory to positional argument in init and test command
117
+ - faac37c: Ensure early returns in favor of else blocks
118
+
119
+ ## 0.0.1-rc.31
120
+
121
+ ### Patch Changes
122
+
123
+ - 1e48dff: Bump runner-node to version 0.0.1-rc.8
124
+
125
+ ## 0.0.1-rc.30
126
+
127
+ ### Patch Changes
128
+
129
+ - 213f37f: Fix class names overlapping
130
+
131
+ ## 0.0.1-rc.29
132
+
133
+ ### Patch Changes
134
+
135
+ - 72bb607: Fix relevant tokens query price filter
136
+ - 52b567d: Align oracle types naming convention
137
+ - 73a9cde: Fix npx init
138
+ - 0a6602a: Handle oracle query errors
139
+
140
+ ## 0.0.1-rc.28
141
+
142
+ ### Patch Changes
143
+
144
+ - 7657416: Add address and chain to event data
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  <a href="https://mimic.fi"><img src="https://www.mimic.fi/logo.png" alt="Mimic Protocol" width="200"></a>
3
3
  </h1>
4
4
 
5
- <h4 align="center">Blockchain automation protocol</h4>
5
+ <h4 align="center">Blockchain development platform</h4>
6
6
 
7
7
  <p align="center">
8
8
  <a href="https://github.com/mimic-protocol/tooling/actions/workflows/ci.yml">
@@ -23,17 +23,17 @@
23
23
 
24
24
  ---
25
25
 
26
- ## Content
26
+ ## Content
27
27
 
28
- This package provides tooling and helpers to write and run tests for Mimic Protocol tasks using TypeScript. It includes:
28
+ This package provides tooling and helpers to write and run tests for Mimic Protocol functions using TypeScript. It includes:
29
29
 
30
30
  - Mocking of inputs, balances, prices, contract calls responses, and context variables
31
- - Simulated task execution with mocked environment
32
- - Structured task outputs to assert emitted intents using frameworks like Mocha and Chai
31
+ - Simulated function execution with mocked environment
32
+ - Structured function outputs to assert emitted intents using frameworks like Mocha and Chai
33
33
 
34
34
  ## Setup
35
35
 
36
- To set up this project you'll need [git](https://git-scm.com) and [yarn](https://classic.yarnpkg.com) installed.
36
+ To set up this project you'll need [git](https://git-scm.com) and [yarn](https://classic.yarnpkg.com) installed.
37
37
 
38
38
  Install the library from the root of the monorepo:
39
39
 
@@ -50,30 +50,30 @@ $ yarn
50
50
 
51
51
  ## Usage
52
52
 
53
- Here’s an example of how to test a Mimic task:
53
+ Here’s an example of how to test a Mimic function:
54
54
 
55
55
  ```ts
56
- import { runTask } from '@mimicprotocol/test-ts'
57
- import { expect } from 'chai'
56
+ import { runFunction } from "@mimicprotocol/test-ts";
57
+ import { expect } from "chai";
58
58
 
59
- const taskDir = './my-task'
60
- const context = { user: '0x...', settler: '0x...', timestamp: Date.now() }
61
- const inputs = { token: '0x...', amount: '10000000' }
59
+ const funcDir = "./my-function";
60
+ const context = { user: "0x...", settler: "0x...", timestamp: Date.now() };
61
+ const inputs = { token: "0x...", amount: "10000000" };
62
62
 
63
- const intents = await runTask(taskDir, context, { inputs })
63
+ const intents = await runFunction(funcDir, context, { inputs });
64
64
 
65
- expect(intents).to.be.an('array').that.is.not.empty
66
- expect(intents).to.have.lengthOf(1)
65
+ expect(intents).to.be.an("array").that.is.not.empty;
66
+ expect(intents).to.have.lengthOf(1);
67
67
 
68
- expect(intents[0].type).to.be.equal('transfer')
69
- expect(intents[0].settler).to.be.equal(context.settler)
68
+ expect(intents[0].type).to.be.equal("transfer");
69
+ expect(intents[0].settler).to.be.equal(context.settler);
70
70
 
71
- expect(intents[0].transfers).to.have.lengthOf(1)
72
- expect(intents[0].transfers[0].token).to.be.equal(inputs.token)
73
- expect(intents[0].transfers[0].amount).to.be.equal(inputs.amount)
71
+ expect(intents[0].transfers).to.have.lengthOf(1);
72
+ expect(intents[0].transfers[0].token).to.be.equal(inputs.token);
73
+ expect(intents[0].transfers[0].amount).to.be.equal(inputs.amount);
74
74
  ```
75
75
 
76
- For full task testing guide and examples please visit [docs.mimic.fi](https://docs.mimic.fi/)
76
+ For full function testing guide and examples please visit [docs.mimic.fi](https://docs.mimic.fi/)
77
77
 
78
78
  ## Security
79
79
 
@@ -87,7 +87,6 @@ for the safety of the protocol, please contact us through <a href="mailto:securi
87
87
  This project is licensed under the GNU General Public License v3.0.
88
88
  See the [LICENSE](../../LICENSE) file for details.
89
89
 
90
-
91
90
  ---
92
91
 
93
92
  > Website [mimic.fi](https://mimic.fi) &nbsp;&middot;&nbsp;
@@ -2,13 +2,18 @@ export default class RunnerMock {
2
2
  private instance;
3
3
  private mockFolder;
4
4
  private ENV_IMPORTS;
5
- constructor(taskFolder: string, mockFolder: string);
5
+ private LOG_IMPORTS;
6
+ constructor(functionFolder: string, mockFolder?: string);
6
7
  private initializeWasmInstance;
7
8
  private readJsonFile;
8
9
  run(fnName?: string): void;
9
10
  private createLogFn;
10
11
  private logToFile;
11
12
  private generateImports;
13
+ private getDefaultModuleImports;
14
+ private getDefaultEnvImports;
15
+ private getDefaultEvmImports;
16
+ private getDefaultSvmImports;
12
17
  private patchStringInputs;
13
18
  private createMockFunction;
14
19
  private isParameterizedResponse;
@@ -28,35 +28,59 @@ const path_1 = require("path");
28
28
  const validators_1 = require("./validators");
29
29
  const LITTLE_ENDIAN = true;
30
30
  class RunnerMock {
31
- constructor(taskFolder, mockFolder) {
31
+ constructor(functionFolder, mockFolder) {
32
32
  this.ENV_IMPORTS = {
33
33
  abort: (msgPtr, filePtr, line, col) => {
34
34
  const msg = this.getStringFromMemory(msgPtr);
35
35
  const file = this.getStringFromMemory(filePtr);
36
36
  throw Error(`${msg} in ${file} (line ${line}, column ${col})`);
37
37
  },
38
- 'console.log': (ptr) => {
39
- const text = this.getStringFromMemory(ptr);
40
- console.log('[LOG]:', text);
38
+ };
39
+ this.LOG_IMPORTS = {
40
+ _log: (level, msgPtr) => {
41
+ const msg = this.getStringFromMemory(msgPtr);
42
+ switch (level) {
43
+ case 0:
44
+ throw new Error(`[CRITICAL] ${msg}`);
45
+ case 1:
46
+ console.error(`[ERROR] ${msg}`);
47
+ break;
48
+ case 2:
49
+ console.warn(`[WARNING] ${msg}`);
50
+ break;
51
+ case 3:
52
+ console.info(`[INFO] ${msg}`);
53
+ break;
54
+ case 4:
55
+ console.debug(`[DEBUG] ${msg}`);
56
+ break;
57
+ default:
58
+ throw new Error(`Invalid log level: ${level}`);
59
+ }
41
60
  },
42
61
  };
43
- this.mockFolder = mockFolder;
44
- this.instance = this.initializeWasmInstance(taskFolder, mockFolder);
62
+ this.mockFolder = mockFolder || (0, path_1.join)(functionFolder, '..');
63
+ this.instance = this.initializeWasmInstance(functionFolder);
45
64
  }
46
- initializeWasmInstance(taskFolder, mockFolder) {
65
+ initializeWasmInstance(functionFolder) {
47
66
  try {
48
- const taskPath = (0, path_1.join)(taskFolder, 'task.wasm');
49
- let { inputs, ...mock } = this.readJsonFile((0, path_1.join)(mockFolder, 'mock.json'), validators_1.MockConfigValidator);
67
+ const functionPath = (0, path_1.join)(functionFolder, 'function.wasm');
68
+ let { inputs, ...mock } = this.readJsonFile((0, path_1.join)(this.mockFolder, 'mock.json'), validators_1.MockConfigValidator);
50
69
  inputs = inputs || {};
70
+ for (const [key, value] of Object.entries(inputs)) {
71
+ if (typeof value === 'object' && value !== null) {
72
+ inputs[key] = JSON.stringify(value);
73
+ }
74
+ }
51
75
  const imports = this.generateImports(mock, inputs);
52
- const wasmBuffer = fs.readFileSync(taskPath);
76
+ const wasmBuffer = fs.readFileSync(functionPath);
53
77
  const wasmModule = new WebAssembly.Module(wasmBuffer);
54
78
  const instance = new WebAssembly.Instance(wasmModule, imports);
55
79
  this.patchStringInputs(inputs, imports, instance);
56
80
  return instance;
57
81
  }
58
82
  catch (error) {
59
- throw new Error(`Failed to initialize task runner instance - ${error}`);
83
+ throw new Error(`Failed to initialize WASM instance: ${error}`);
60
84
  }
61
85
  }
62
86
  readJsonFile(filePath, validator) {
@@ -83,16 +107,14 @@ class RunnerMock {
83
107
  run(fnName = 'main') {
84
108
  try {
85
109
  const fn = this.instance.exports[fnName];
86
- if (typeof fn === 'function') {
87
- fn();
88
- }
89
- else {
110
+ if (typeof fn !== 'function') {
90
111
  const availableExports = Object.keys(this.instance.exports).join(', ');
91
112
  throw Error(`No "${fnName}" found in exports. Available exports: ${availableExports}`);
92
113
  }
114
+ fn();
93
115
  }
94
116
  catch (error) {
95
- throw Error(`Task Execution Error - ${error}`);
117
+ throw Error(`Function Execution Error - ${error}`);
96
118
  }
97
119
  }
98
120
  createLogFn(call) {
@@ -108,9 +130,9 @@ class RunnerMock {
108
130
  generateImports(mock, inputs) {
109
131
  const importModules = {};
110
132
  const variableImports = {};
111
- for (const moduleName of ['environment', 'evm']) {
133
+ for (const moduleName of ['environment', 'evm', 'svm']) {
112
134
  const moduleMocks = mock[moduleName] ?? {};
113
- const moduleImports = {};
135
+ const moduleImports = this.getDefaultModuleImports(moduleName);
114
136
  for (const [functionName, mockValue] of Object.entries(moduleMocks)) {
115
137
  moduleImports[functionName] = this.createMockFunction(functionName, mockValue);
116
138
  }
@@ -123,9 +145,42 @@ class RunnerMock {
123
145
  return {
124
146
  ...importModules,
125
147
  env: this.ENV_IMPORTS,
148
+ log: this.LOG_IMPORTS,
126
149
  index: variableImports,
127
150
  };
128
151
  }
152
+ getDefaultModuleImports(moduleName) {
153
+ if (moduleName === 'evm')
154
+ return this.getDefaultEvmImports();
155
+ if (moduleName === 'svm')
156
+ return this.getDefaultSvmImports();
157
+ if (moduleName === 'environment')
158
+ return this.getDefaultEnvImports();
159
+ return {};
160
+ }
161
+ getDefaultEnvImports() {
162
+ const defaultResult = (data) => '{"success":"true","data":' + JSON.stringify(data) + ',"error":""}';
163
+ return {
164
+ _sendIntent: this.createLogFn('_sendIntent'),
165
+ _tokenPriceQuery: this.createMockFunction('_tokenPriceQuery', { default: defaultResult([]) }),
166
+ _relevantTokensQuery: this.createMockFunction('_relevantTokensQuery', { default: defaultResult([]) }),
167
+ _evmCallQuery: this.createMockFunction('_evmCallQuery', { default: defaultResult('0x') }),
168
+ _svmAccountsInfoQuery: this.createMockFunction('_svmAccountsInfoQuery', { default: defaultResult([]) }),
169
+ _getContext: this.createMockFunction('_getContext', { default: '' }),
170
+ };
171
+ }
172
+ getDefaultEvmImports() {
173
+ return {
174
+ _encode: this.createMockFunction('_encode', { default: '0x' }),
175
+ _decode: this.createMockFunction('_decode', { default: '0x' }),
176
+ _keccak: this.createMockFunction('_keccak', { default: '0xabcd' }),
177
+ };
178
+ }
179
+ getDefaultSvmImports() {
180
+ return {
181
+ _findProgramAddress: this.createMockFunction('_findProgramAddress', { default: '' }),
182
+ };
183
+ }
129
184
  patchStringInputs(inputs, imports, instance) {
130
185
  for (const [key, value] of Object.entries(inputs)) {
131
186
  if (typeof value === 'string') {
@@ -135,15 +190,11 @@ class RunnerMock {
135
190
  }
136
191
  }
137
192
  createMockFunction(functionName, mockValue) {
138
- if (mockValue === 'log') {
193
+ if (mockValue === 'log')
139
194
  return this.createLogFn(functionName);
140
- }
141
- else if (this.isParameterizedResponse(mockValue)) {
195
+ if (this.isParameterizedResponse(mockValue))
142
196
  return this.createParameterizedFunction(functionName, mockValue);
143
- }
144
- else {
145
- return this.createConstantFunction(String(mockValue));
146
- }
197
+ return this.createConstantFunction(String(mockValue));
147
198
  }
148
199
  isParameterizedResponse(value) {
149
200
  const result = validators_1.ParameterizedResponseValidator.safeParse(value);
@@ -163,7 +214,7 @@ class RunnerMock {
163
214
  result = this.writeStringToMemory(config.default);
164
215
  }
165
216
  else {
166
- throw new Error(`No response defined for parameter "${param}" in function "${functionName}" and no default value provided`);
217
+ throw new Error(`No response defined for parameter "${param}" in function "${functionName}".`);
167
218
  }
168
219
  if (config.log === true) {
169
220
  this.logToFile(functionName, param);
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerMock.js","sourceRoot":"","sources":["../src/RunnerMock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunnerMock.js","sourceRoot":"","sources":["../src/RunnerMock.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from './run-task';
1
+ export * from './run-function';
2
2
  export { default as RunnerMock } from './RunnerMock';
3
3
  export * from './types';
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.RunnerMock = void 0;
21
- __exportStar(require("./run-task"), exports);
21
+ __exportStar(require("./run-function"), exports);
22
22
  var RunnerMock_1 = require("./RunnerMock");
23
23
  Object.defineProperty(exports, "RunnerMock", { enumerable: true, get: function () { return __importDefault(RunnerMock_1).default; } });
24
24
  __exportStar(require("./types"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,2CAAoD;AAA3C,yHAAA,OAAO,OAAc;AAC9B,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,2CAAoD;AAA3C,yHAAA,OAAO,OAAc;AAC9B,0CAAuB"}
@@ -0,0 +1,3 @@
1
+ import { OracleQueryParams, OracleQueryResult } from '@mimicprotocol/sdk';
2
+ import { EvmCallQueryRequest, EvmCallQueryResponse, QueryProcessor } from '../types';
3
+ export declare const evmCallQueryProcessor: QueryProcessor<EvmCallQueryRequest, EvmCallQueryResponse, OracleQueryParams<'EvmCallQuery'>, OracleQueryResult<'EvmCallQuery'>>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.evmCallQueryProcessor = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const validators_1 = require("../validators");
6
+ exports.evmCallQueryProcessor = {
7
+ queryName: 'EvmCallQuery',
8
+ queryTypeLabel: 'contract call entry',
9
+ requestValidator: validators_1.EvmCallRequestValidator,
10
+ responseValidator: validators_1.EvmCallTypedValueValidator,
11
+ transformParams: (req, timestamp) => {
12
+ const data = req.params
13
+ ? (0, ethers_1.concat)([req.fnSelector, ...req.params.map((p) => ethers_1.AbiCoder.defaultAbiCoder().encode([p.abiType], [p.value]))])
14
+ : req.fnSelector;
15
+ return {
16
+ to: req.to,
17
+ chainId: req.chainId,
18
+ data,
19
+ timestamp: req.timestamp ?? timestamp,
20
+ };
21
+ },
22
+ transformResponse: (res) => ethers_1.AbiCoder.defaultAbiCoder().encode([res.abiType], [res.value]),
23
+ };
24
+ //# sourceMappingURL=evm-call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-call.js","sourceRoot":"","sources":["../../src/processors/evm-call.ts"],"names":[],"mappings":";;;AACA,mCAAyC;AAGzC,8CAAmF;AAEtE,QAAA,qBAAqB,GAK9B;IACF,SAAS,EAAE,cAAc;IACzB,cAAc,EAAE,qBAAqB;IACrC,gBAAgB,EAAE,oCAAuB;IACzC,iBAAiB,EAAE,uCAA0B;IAC7C,eAAe,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM;YACrB,CAAC,CAAC,IAAA,eAAM,EAAC,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/G,CAAC,CAAC,GAAG,CAAC,UAAU,CAAA;QAClB,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI;YACJ,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;SACtC,CAAA;IACH,CAAC;IACD,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CAC1F,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './evm-call';
2
+ export * from './price';
3
+ export * from './relevant-tokens';
4
+ export * from './subgraph';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./evm-call"), exports);
18
+ __exportStar(require("./price"), exports);
19
+ __exportStar(require("./relevant-tokens"), exports);
20
+ __exportStar(require("./subgraph"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,0CAAuB;AACvB,oDAAiC;AACjC,6CAA0B"}
@@ -0,0 +1,3 @@
1
+ import { OracleQueryParams, OracleQueryResult } from '@mimicprotocol/sdk';
2
+ import { QueryProcessor, TokenPriceQueryRequest, TokenPriceQueryResponse } from '../types';
3
+ export declare const priceQueryProcessor: QueryProcessor<TokenPriceQueryRequest, TokenPriceQueryResponse, OracleQueryParams<'TokenPriceQuery'>, OracleQueryResult<'TokenPriceQuery'>>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.priceQueryProcessor = void 0;
4
+ const validators_1 = require("../validators");
5
+ exports.priceQueryProcessor = {
6
+ queryName: 'TokenPriceQuery',
7
+ queryTypeLabel: 'price entry',
8
+ requestValidator: validators_1.TokenPriceRequestValidator,
9
+ responseValidator: validators_1.TokenPriceResponseValidator,
10
+ transformParams: (req, timestamp) => ({
11
+ token: req.token,
12
+ timestamp: req.timestamp ?? timestamp,
13
+ }),
14
+ transformResponse: (res) => res[0],
15
+ };
16
+ //# sourceMappingURL=price.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price.js","sourceRoot":"","sources":["../../src/processors/price.ts"],"names":[],"mappings":";;;AAGA,8CAAuF;AAE1E,QAAA,mBAAmB,GAK5B;IACF,SAAS,EAAE,iBAAiB;IAC5B,cAAc,EAAE,aAAa;IAC7B,gBAAgB,EAAE,uCAA0B;IAC5C,iBAAiB,EAAE,wCAA2B;IAC9C,eAAe,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACpC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;KACtC,CAAC;IACF,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACnC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { OracleQueryParams, OracleQueryResult } from '@mimicprotocol/sdk';
2
+ import { QueryProcessor, RelevantTokensQueryRequest, RelevantTokensQueryResponse } from '../types';
3
+ export declare const relevantTokensQueryProcessor: QueryProcessor<RelevantTokensQueryRequest, RelevantTokensQueryResponse[], OracleQueryParams<'RelevantTokensQuery'>, OracleQueryResult<'RelevantTokensQuery'>>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.relevantTokensQueryProcessor = void 0;
4
+ const sdk_1 = require("@mimicprotocol/sdk");
5
+ const validators_1 = require("../validators");
6
+ exports.relevantTokensQueryProcessor = {
7
+ queryName: 'RelevantTokensQuery',
8
+ queryTypeLabel: 'relevant tokens entry',
9
+ requestValidator: validators_1.RelevantTokensRequestValidator,
10
+ responseValidator: sdk_1.z.array(validators_1.RelevantTokensResponseValidator),
11
+ transformParams: (req) => req,
12
+ transformResponse: (res) => res[0],
13
+ };
14
+ //# sourceMappingURL=relevant-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relevant-tokens.js","sourceRoot":"","sources":["../../src/processors/relevant-tokens.ts"],"names":[],"mappings":";;;AAAA,4CAA4E;AAG5E,8CAA+F;AAElF,QAAA,4BAA4B,GAKrC;IACF,SAAS,EAAE,qBAAqB;IAChC,cAAc,EAAE,uBAAuB;IACvC,gBAAgB,EAAE,2CAA8B;IAChD,iBAAiB,EAAE,OAAC,CAAC,KAAK,CAAC,4CAA+B,CAAC;IAC3D,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;IAC7B,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACnC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { OracleQueryParams, OracleQueryResult } from '@mimicprotocol/sdk';
2
+ import { QueryProcessor, SubgraphQueryRequest, SubgraphQueryResponse } from '../types';
3
+ export declare const subgraphQueryProcessor: QueryProcessor<SubgraphQueryRequest, SubgraphQueryResponse, OracleQueryParams<'SubgraphQuery'>, OracleQueryResult<'SubgraphQuery'>>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.subgraphQueryProcessor = void 0;
4
+ const validators_1 = require("../validators");
5
+ exports.subgraphQueryProcessor = {
6
+ queryName: 'SubgraphQuery',
7
+ queryTypeLabel: 'subgraph query entry',
8
+ requestValidator: validators_1.SubgraphQueryRequestValidator,
9
+ responseValidator: validators_1.SubgraphQueryResponseValidator,
10
+ transformParams: (req, timestamp) => ({
11
+ ...req,
12
+ timestamp: req.timestamp ?? timestamp,
13
+ }),
14
+ transformResponse: (res) => res,
15
+ };
16
+ //# sourceMappingURL=subgraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../src/processors/subgraph.ts"],"names":[],"mappings":";;;AAGA,8CAA6F;AAEhF,QAAA,sBAAsB,GAK/B;IACF,SAAS,EAAE,eAAe;IAC1B,cAAc,EAAE,sBAAsB;IACtC,gBAAgB,EAAE,0CAA6B;IAC/C,iBAAiB,EAAE,2CAA8B;IACjD,eAAe,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,GAAG;QACN,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;KACtC,CAAC;IACF,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;CAChC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { Context, RunFunctionOptionalParams, RunFunctionResult } from './types';
2
+ export declare function runFunction(functionDir: string, context: Context, optional?: RunFunctionOptionalParams, oracleUrl?: string): Promise<RunFunctionResult>;