Skip to content

Commit 61b2899

Browse files
committed
Merge branch 'master' into fix/btach-conversion-capped
2 parents 6b853c2 + 312ce4a commit 61b2899

File tree

167 files changed

+1822
-1268
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

167 files changed

+1822
-1268
lines changed

.circleci/config.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ jobs:
9595
name: Generate Payment Detection queries
9696
command: yarn workspace @requestnetwork/payment-detection run codegen
9797

98+
- run:
99+
name: Build all packages (tsc)
100+
command: yarn build:tsc
101+
98102
- persist_to_workspace:
99103
root: *working_directory
100104
paths: .

.husky/pre-commit

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
yarn lint-staged

README.md

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,26 @@ Join the [Request Hub][requesthub-slack-url] to get in touch with us.
1818

1919
### Published Packages
2020

21-
| Package | Version | Description |
22-
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
23-
| [`@requestnetwork/advanced-logic`](/packages/advanced-logic) | [![npm](https://img.shields.io/npm/v/@requestnetwork/advanced-logic.svg)](https://www.npmjs.com/package/@requestnetwork/advanced-logic) | Extensions to the protocol |
24-
| [`@requestnetwork/request-client.js`](/packages/request-client.js) | [![npm](https://img.shields.io/npm/v/@requestnetwork/request-client.js.svg)](https://www.npmjs.com/package/@requestnetwork/request-client.js) | Library to use Request nodes as servers |
25-
| [`@requestnetwork/data-access`](/packages/data-access) | [![npm](https://img.shields.io/npm/v/@requestnetwork/data-access.svg)](https://www.npmjs.com/package/@requestnetwork/data-access) | Indexing an batching of transactions |
26-
| [`@requestnetwork/data-format`](/packages/data-format) | [![npm](https://img.shields.io/npm/v/@requestnetwork/data-format.svg)](https://www.npmjs.com/package/@requestnetwork/data-format) | Standards for data stored on Request, like invoices format |
27-
| [`@requestnetwork/epk-signature`](/packages/epk-signature) | [![npm](https://img.shields.io/npm/v/@requestnetwork/epk-signature.svg)](https://www.npmjs.com/package/@requestnetwork/epk-signature) | Sign requests using Ethereum private keys |
28-
| [`@requestnetwork/ethereum-storage`](/packages/ethereum-storage) | [![npm](https://img.shields.io/npm/v/@requestnetwork/ethereum-storage.svg)](https://www.npmjs.com/package/@requestnetwork/ethereum-storage) | Storage of Request data on Ethereum and IPFS |
29-
| [`@requestnetwork/epk-decryption`](/packages/epk-decryption) | [![npm](https://img.shields.io/npm/v/@requestnetwork/epk-decryption.svg)](https://www.npmjs.com/package/@requestnetwork/epk-decryption) | Decrypt encrypted requests using Ethereum private keys |
30-
| [`@requestnetwork/payment-detection`](/packages/payment-detection) | [![npm](https://img.shields.io/npm/v/@requestnetwork/payment-detection.svg)](https://www.npmjs.com/package/@requestnetwork/payment-detection) | Client-side payment detection, to compute the balance. |
31-
| [`@requestnetwork/payment-processor`](/packages/payment-processor) | [![npm](https://img.shields.io/npm/v/@requestnetwork/payment-processor.svg)](https://www.npmjs.com/package/@requestnetwork/payment-processor) | Pay a request using a web3 wallet |
32-
| [`@requestnetwork/request-logic`](/packages/request-logic) | [![npm](https://img.shields.io/npm/v/@requestnetwork/request-logic.svg)](https://www.npmjs.com/package/@requestnetwork/request-logic) | The Request business logic: properties and actions of requests |
33-
| [`@requestnetwork/request-node`](/packages/request-node) | [![npm](https://img.shields.io/npm/v/@requestnetwork/request-node.svg)](https://www.npmjs.com/package/@requestnetwork/request-node) | Web server that allows easy access to Request system |
34-
| [`@requestnetwork/transaction-manager`](/packages/transaction-manager) | [![npm](https://img.shields.io/npm/v/@requestnetwork/transaction-manager.svg)](https://www.npmjs.com/package/@requestnetwork/transaction-manager) | Creates transactions to be sent to Data Access, managing encryption |
35-
| [`@requestnetwork/types`](/packages/types) | [![npm](https://img.shields.io/npm/v/@requestnetwork/types.svg)](https://www.npmjs.com/package/@requestnetwork/types) | Typescript types shared across @requestnetwork packages |
36-
| [`@requestnetwork/utils`](/packages/utils) | [![npm](https://img.shields.io/npm/v/@requestnetwork/utils.svg)](https://www.npmjs.com/package/@requestnetwork/utils) | Collection of tools shared between the @requestnetwork packages |
37-
| [`@requestnetwork/web3-signature`](/packages/web3-signature) | [![npm](https://img.shields.io/npm/v/@requestnetwork/web3-signature.svg)](https://www.npmjs.com/package/@requestnetwork/web3-signature) | Sign requests using web3 tools (like Metamask) |
38-
| [`@requestnetwork/multi-format`](/packages/multi-format) | [![npm](https://img.shields.io/npm/v/@requestnetwork/multi-format.svg)](https://www.npmjs.com/package/@requestnetwork/multi-format) | Serialize and deserialize object in the Request Network protocol |
39-
| [`@requestnetwork/smart-contracts`](/packages/smart-contracts) | [![npm](https://img.shields.io/npm/v/@requestnetwork/smart-contracts.svg)](https://www.npmjs.com/package/@requestnetwork/smart-contracts) | Sources and artifacts of the smart contracts |
21+
| Package | Version | Description |
22+
| ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
23+
| [`@requestnetwork/advanced-logic`](/packages/advanced-logic) | [![npm](https://img.shields.io/npm/v/@requestnetwork/advanced-logic.svg)](https://www.npmjs.com/package/@requestnetwork/advanced-logic) | Extensions to the protocol |
24+
| [`@requestnetwork/request-client.js`](/packages/request-client.js) | [![npm](https://img.shields.io/npm/v/@requestnetwork/request-client.js.svg)](https://www.npmjs.com/package/@requestnetwork/request-client.js) | Library to use Request nodes as servers |
25+
| [`@requestnetwork/data-access`](/packages/data-access) | [![npm](https://img.shields.io/npm/v/@requestnetwork/data-access.svg)](https://www.npmjs.com/package/@requestnetwork/data-access) | Indexing an batching of transactions |
26+
| [`@requestnetwork/data-format`](/packages/data-format) | [![npm](https://img.shields.io/npm/v/@requestnetwork/data-format.svg)](https://www.npmjs.com/package/@requestnetwork/data-format) | Standards for data stored on Request, like invoices format |
27+
| [`@requestnetwork/epk-signature`](/packages/epk-signature) | [![npm](https://img.shields.io/npm/v/@requestnetwork/epk-signature.svg)](https://www.npmjs.com/package/@requestnetwork/epk-signature) | Sign requests using Ethereum private keys |
28+
| [`@requestnetwork/ethereum-storage`](/packages/ethereum-storage) | [![npm](https://img.shields.io/npm/v/@requestnetwork/ethereum-storage.svg)](https://www.npmjs.com/package/@requestnetwork/ethereum-storage) | Storage of Request data on Ethereum and IPFS, with custom indexing |
29+
| [`@requestnetwork/epk-decryption`](/packages/epk-decryption) | [![npm](https://img.shields.io/npm/v/@requestnetwork/epk-decryption.svg)](https://www.npmjs.com/package/@requestnetwork/epk-decryption) | Decrypt encrypted requests using Ethereum private keys |
30+
| [`@requestnetwork/payment-detection`](/packages/payment-detection) | [![npm](https://img.shields.io/npm/v/@requestnetwork/payment-detection.svg)](https://www.npmjs.com/package/@requestnetwork/payment-detection) | Client-side payment detection, to compute the balance. |
31+
| [`@requestnetwork/payment-processor`](/packages/payment-processor) | [![npm](https://img.shields.io/npm/v/@requestnetwork/payment-processor.svg)](https://www.npmjs.com/package/@requestnetwork/payment-processor) | Pay a request using a web3 wallet |
32+
| [`@requestnetwork/request-logic`](/packages/request-logic) | [![npm](https://img.shields.io/npm/v/@requestnetwork/request-logic.svg)](https://www.npmjs.com/package/@requestnetwork/request-logic) | The Request business logic: properties and actions of requests |
33+
| [`@requestnetwork/request-node`](/packages/request-node) | [![npm](https://img.shields.io/npm/v/@requestnetwork/request-node.svg)](https://www.npmjs.com/package/@requestnetwork/request-node) | Web server that allows easy access to Request system |
34+
| [`@requestnetwork/transaction-manager`](/packages/transaction-manager) | [![npm](https://img.shields.io/npm/v/@requestnetwork/transaction-manager.svg)](https://www.npmjs.com/package/@requestnetwork/transaction-manager) | Creates transactions to be sent to Data Access, managing encryption |
35+
| [`@requestnetwork/types`](/packages/types) | [![npm](https://img.shields.io/npm/v/@requestnetwork/types.svg)](https://www.npmjs.com/package/@requestnetwork/types) | Typescript types shared across @requestnetwork packages |
36+
| [`@requestnetwork/utils`](/packages/utils) | [![npm](https://img.shields.io/npm/v/@requestnetwork/utils.svg)](https://www.npmjs.com/package/@requestnetwork/utils) | Collection of tools shared between the @requestnetwork packages |
37+
| [`@requestnetwork/web3-signature`](/packages/web3-signature) | [![npm](https://img.shields.io/npm/v/@requestnetwork/web3-signature.svg)](https://www.npmjs.com/package/@requestnetwork/web3-signature) | Sign requests using web3 tools (like Metamask) |
38+
| [`@requestnetwork/multi-format`](/packages/multi-format) | [![npm](https://img.shields.io/npm/v/@requestnetwork/multi-format.svg)](https://www.npmjs.com/package/@requestnetwork/multi-format) | Serialize and deserialize object in the Request Network protocol |
39+
| [`@requestnetwork/thegraph-data-access`](/packages/thegraph-data-access) | [![npm](https://img.shields.io/npm/v/@requestnetwork/thegraph-data-access.svg)](https://www.npmjs.com/package/@requestnetwork/thegraph-data-access) | Storage of Request data on Ethereum and IPFS, indexed by TheGraph |
40+
| [`@requestnetwork/smart-contracts`](/packages/smart-contracts) | [![npm](https://img.shields.io/npm/v/@requestnetwork/smart-contracts.svg)](https://www.npmjs.com/package/@requestnetwork/smart-contracts) | Sources and artifacts of the smart contracts |
4041

4142
### Private Packages
4243

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414
"url": "git+https://github.com/RequestNetwork/requestNetwork.git"
1515
},
1616
"scripts": {
17+
"prepare": "husky install",
1718
"build": "lerna run build",
1819
"clean": "lerna run clean",
19-
"build:tsc": "tsc -b packages/advanced-logic/tsconfig.build.json packages/currency/tsconfig.build.json packages/data-access/tsconfig.build.json packages/data-format/tsconfig.build.json packages/epk-decryption/tsconfig.build.json packages/epk-signature/tsconfig.build.json packages/ethereum-storage/tsconfig.build.json packages/integration-test/tsconfig.build.json packages/multi-format/tsconfig.build.json packages/payment-detection/tsconfig.build.json packages/prototype-estimator/tsconfig.build.json packages/request-client.js/tsconfig.build.json packages/request-logic/tsconfig.build.json packages/request-node/tsconfig.build.json packages/smart-contracts/tsconfig.build.json packages/toolbox/tsconfig.build.json packages/transaction-manager/tsconfig.build.json packages/types/tsconfig.build.json packages/usage-examples/tsconfig.build.json packages/utils/tsconfig.build.json packages/web3-signature/tsconfig.build.json",
20+
"build:tsc": "tsc -b packages/**/tsconfig.build.json",
2021
"lint": "eslint . --fix --quiet",
2122
"lint:check": "eslint . --quiet",
2223
"lint-staged": "lint-staged",
@@ -41,7 +42,7 @@
4142
"eslint-plugin-import": "2.22.1",
4243
"eslint-plugin-jsdoc": "32.3.0",
4344
"eslint-plugin-prefer-arrow": "1.2.3",
44-
"husky": "4.3.0",
45+
"husky": "8.0.1",
4546
"lerna": "3.22.1",
4647
"lint-staged": "10.5.4",
4748
"npm-package-json-lint": "5.1.0",

packages/advanced-logic/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
"@types/lodash": "4.14.161",
5252
"jest": "26.4.2",
5353
"nyc": "15.1.0",
54-
"prettier": "2.2.1",
5554
"shx": "0.3.2",
5655
"ts-jest": "26.3.0",
5756
"ts-node": "9.0.0",

packages/advanced-logic/src/extensions/payment-network/any-to-near.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { ExtensionTypes, IdentityTypes, RequestLogicTypes } from '@requestnetwor
33
import { UnsupportedNetworkError } from './address-based';
44
import AnyToNativeTokenPaymentNetwork from './any-to-native';
55

6-
const CURRENT_VERSION = '0.2.0';
6+
const CURRENT_VERSION = '0.1.0';
77
const supportedNetworks = ['aurora', 'aurora-testnet'];
88

99
export default class AnyToNearPaymentNetwork extends AnyToNativeTokenPaymentNetwork {

packages/advanced-logic/test/utils/payment-network/any/generator-data-create.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ export const actionCreationWithNativeTokenPayment: ExtensionTypes.IAction<Extens
9393
refundAddress: 'refund.near',
9494
salt: arbitrarySalt,
9595
},
96-
version: '0.2.0',
96+
version: '0.1.0',
9797
};
9898
export const actionCreationWithAnyToNativeTokenPayment: ExtensionTypes.IAction<ExtensionTypes.PnAnyToAnyConversion.ICreationParameters> =
9999
{
@@ -108,7 +108,7 @@ export const actionCreationWithAnyToNativeTokenPayment: ExtensionTypes.IAction<E
108108
network: 'aurora',
109109
maxRateTimespan: 1000000,
110110
},
111-
version: '0.2.0',
111+
version: '0.1.0',
112112
};
113113

114114
export const actionAddDelegate = {
@@ -239,7 +239,7 @@ export const extensionStateWithNativeTokenPaymentAndRefund: RequestLogicTypes.IE
239239
sentPaymentAmount: '0',
240240
sentRefundAmount: '0',
241241
},
242-
version: '0.2.0',
242+
version: '0.1.0',
243243
},
244244
};
245245
export const extensionStateWithAnyToNativeTokenPaymentAndRefund: RequestLogicTypes.IExtensionStates =
@@ -279,7 +279,7 @@ export const extensionStateWithAnyToNativeTokenPaymentAndRefund: RequestLogicTyp
279279
maxRateTimespan: 1000000,
280280
feeAmount: '100',
281281
},
282-
version: '0.2.0',
282+
version: '0.1.0',
283283
},
284284
};
285285
export const extensionStateAnyToNativeWithPaymentAddressAdded: RequestLogicTypes.IExtensionStates =
@@ -325,7 +325,7 @@ export const extensionStateAnyToNativeWithPaymentAddressAdded: RequestLogicTypes
325325
maxRateTimespan: 1000000,
326326
feeAmount: '100',
327327
},
328-
version: '0.2.0',
328+
version: '0.1.0',
329329
},
330330
};
331331

@@ -371,7 +371,7 @@ export const extensionStateAnyToNativeWithFeeAdded: RequestLogicTypes.IExtension
371371
maxRateTimespan: 1000000,
372372
feeAmount: '100',
373373
},
374-
version: '0.2.0',
374+
version: '0.1.0',
375375
},
376376
};
377377

packages/advanced-logic/tsconfig.build.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
"outDir": "dist",
55
"rootDir": "src"
66
},
7-
"include": ["src/**/*"],
8-
"exclude": ["**/*.test.ts", "**/*.spec.ts"],
7+
"exclude": ["test/", "**/*.test.ts", "**/*.spec.ts"],
98
"references": [
109
{ "path": "../currency/tsconfig.build.json" },
1110
{ "path": "../types/tsconfig.build.json" },

packages/advanced-logic/tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
"extends": "../../tsconfig",
33
"compilerOptions": {
44
"types": ["node", "jest"]
5-
}
5+
},
6+
"include": ["src/", "test/"]
67
}

packages/currency/src/currencyManager.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,13 @@ export class CurrencyManager<TMeta = unknown> implements ICurrencyManager<TMeta>
129129
);
130130
}
131131

132+
fromHash(hash: string, network?: string): CurrencyDefinition<TMeta> | undefined {
133+
return this.knownCurrencies.find(
134+
(x) =>
135+
x.hash.toLowerCase() === hash.toLowerCase() &&
136+
((x.type === ISO4217 && !network) || ('network' in x && x.network === network) || !network),
137+
);
138+
}
132139
/**
133140
* Retrieves a currency given its storage format (ICurrency)
134141
*/

0 commit comments

Comments
 (0)