@kynesyslabs/demosdk 1.0.21 → 1.0.22
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/build/encryption/Cryptography.d.ts +18 -1
- package/build/encryption/Cryptography.js +182 -1
- package/build/encryption/Cryptography.js.map +1 -1
- package/build/encryption/Hashing.d.ts +1 -1
- package/build/encryption/Hashing.js +2 -1
- package/build/encryption/Hashing.js.map +1 -1
- package/build/encryption/index.d.ts +2 -2
- package/build/encryption/index.js +4 -2
- package/build/encryption/index.js.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.js +2 -1
- package/build/index.js.map +1 -1
- package/build/multichain/core/solana.d.ts +16 -29
- package/build/multichain/core/solana.js +40 -126
- package/build/multichain/core/solana.js.map +1 -1
- package/build/multichain/core/types/defaultChain.d.ts +0 -18
- package/build/multichain/localsdk/index.d.ts +5 -4
- package/build/multichain/localsdk/index.js +3 -1
- package/build/multichain/localsdk/index.js.map +1 -1
- package/build/multichain/localsdk/solana.d.ts +1 -3
- package/build/multichain/localsdk/solana.js +5 -10
- package/build/multichain/localsdk/solana.js.map +1 -1
- package/build/multichain/websdk/index.d.ts +1 -0
- package/build/multichain/websdk/index.js +3 -1
- package/build/multichain/websdk/index.js.map +1 -1
- package/build/multichain/websdk/solana.d.ts +4 -0
- package/build/multichain/websdk/solana.js +11 -0
- package/build/multichain/websdk/solana.js.map +1 -0
- package/build/types/blockchain/Confirmation.d.ts +9 -0
- package/build/types/blockchain/Confirmation.js +23 -0
- package/build/types/blockchain/Confirmation.js.map +1 -0
- package/build/types/blockchain/WalletTypes.d.ts +3 -0
- package/build/types/blockchain/WalletTypes.js +3 -0
- package/build/types/blockchain/WalletTypes.js.map +1 -0
- package/build/utils/getRemoteIP.d.ts +1 -0
- package/build/utils/getRemoteIP.js +19 -0
- package/build/utils/getRemoteIP.js.map +1 -0
- package/build/wallet/Wallet.d.ts +25 -0
- package/build/wallet/Wallet.js +94 -0
- package/build/wallet/Wallet.js.map +1 -0
- package/build/wallet/index.d.ts +1 -0
- package/build/wallet/index.js +28 -0
- package/build/wallet/index.js.map +1 -0
- package/build/websdk/DemosTransactions.d.ts +1 -1
- package/build/websdk/DemosTransactions.js +3 -2
- package/build/websdk/DemosTransactions.js.map +1 -1
- package/build/websdk/demos.d.ts +2 -2
- package/package.json +55 -57
- package/.eslintignore +0 -6
- package/.eslintrc.cjs +0 -31
- package/.gitattributes +0 -4
- package/.github/workflows/publish.yml +0 -43
- package/.github/workflows/test:multichain.yml +0 -35
- package/.gitignore +0 -8
- package/.prettierrc +0 -13
- package/build/tests/multichain/chainProviders.d.ts +0 -29
- package/build/tests/multichain/chainProviders.js +0 -34
- package/build/tests/multichain/chainProviders.js.map +0 -1
- package/build/tests/multichain/evm.test.d.ts +0 -1
- package/build/tests/multichain/evm.test.js +0 -53
- package/build/tests/multichain/evm.test.js.map +0 -1
- package/build/tests/multichain/ibc.test.d.ts +0 -1
- package/build/tests/multichain/ibc.test.js +0 -74
- package/build/tests/multichain/ibc.test.js.map +0 -1
- package/build/tests/multichain/index.d.ts +0 -1
- package/build/tests/multichain/index.js +0 -94
- package/build/tests/multichain/index.js.map +0 -1
- package/build/tests/multichain/multiversx.test.d.ts +0 -1
- package/build/tests/multichain/multiversx.test.js +0 -49
- package/build/tests/multichain/multiversx.test.js.map +0 -1
- package/build/tests/multichain/solana.spec.d.ts +0 -1
- package/build/tests/multichain/solana.spec.js +0 -50
- package/build/tests/multichain/solana.spec.js.map +0 -1
- package/build/tests/multichain/template.test.d.ts +0 -0
- package/build/tests/multichain/template.test.js +0 -33
- package/build/tests/multichain/template.test.js.map +0 -1
- package/build/tests/multichain/xrpl.test.d.ts +0 -1
- package/build/tests/multichain/xrpl.test.js +0 -57
- package/build/tests/multichain/xrpl.test.js.map +0 -1
- package/build/tests/utils/index.d.ts +0 -14
- package/build/tests/utils/index.js +0 -34
- package/build/tests/utils/index.js.map +0 -1
- package/build/tests/utils/wallets.d.ts +0 -21
- package/build/tests/utils/wallets.js +0 -48
- package/build/tests/utils/wallets.js.map +0 -1
- package/build/tests/utils.test.d.ts +0 -1
- package/build/tests/utils.test.js +0 -19
- package/build/tests/utils.test.js.map +0 -1
- package/documentation/multichain/README.md +0 -85
- package/documentation/multichain/ibc.md +0 -3
- package/documentation/multichain/solana.md +0 -13
- package/jest.config.ts +0 -20
- package/src/encryption/Cryptography.ts +0 -128
- package/src/encryption/FHE/index.ts +0 -35
- package/src/encryption/Hashing.ts +0 -20
- package/src/encryption/PQC/index.ts +0 -260
- package/src/encryption/index.ts +0 -5
- package/src/encryption/zK/index.ts +0 -1
- package/src/encryption/zK/interactive/index.ts +0 -47
- package/src/encryption/zK/primer.ts +0 -71
- package/src/index.ts +0 -8
- package/src/multichain/archive/btc.ts +0 -72
- package/src/multichain/archive/demos.ts +0 -51
- package/src/multichain/archive/tron.ts +0 -86
- package/src/multichain/archive/xlm.ts +0 -65
- package/src/multichain/core/README.md +0 -1
- package/src/multichain/core/evm.ts +0 -275
- package/src/multichain/core/ibc.ts +0 -318
- package/src/multichain/core/index.ts +0 -29
- package/src/multichain/core/multiversx.ts +0 -310
- package/src/multichain/core/solana.ts +0 -336
- package/src/multichain/core/types/defaultChain.ts +0 -254
- package/src/multichain/core/types/interfaces.ts +0 -102
- package/src/multichain/core/utils.ts +0 -22
- package/src/multichain/core/xrp.ts +0 -253
- package/src/multichain/index.ts +0 -3
- package/src/multichain/localsdk/README.md +0 -1
- package/src/multichain/localsdk/evm.ts +0 -77
- package/src/multichain/localsdk/ibc.ts +0 -25
- package/src/multichain/localsdk/index.ts +0 -4
- package/src/multichain/localsdk/multiversx.ts +0 -66
- package/src/multichain/localsdk/solana.ts +0 -37
- package/src/multichain/localsdk/xrp.ts +0 -56
- package/src/multichain/websdk/README.md +0 -1
- package/src/multichain/websdk/evm.ts +0 -9
- package/src/multichain/websdk/ibc.ts +0 -10
- package/src/multichain/websdk/index.ts +0 -4
- package/src/multichain/websdk/multiversx.ts +0 -84
- package/src/multichain/websdk/xrp.ts +0 -9
- package/src/tests/multichain/chainProviders.ts +0 -32
- package/src/tests/multichain/evm.test.ts +0 -64
- package/src/tests/multichain/ibc.test.ts +0 -93
- package/src/tests/multichain/index.ts +0 -105
- package/src/tests/multichain/multiversx.test.ts +0 -57
- package/src/tests/multichain/solana.spec.ts +0 -56
- package/src/tests/multichain/template.test.ts +0 -37
- package/src/tests/multichain/xrpl.test.ts +0 -71
- package/src/tests/utils/index.ts +0 -34
- package/src/tests/utils/wallets.ts +0 -46
- package/src/tests/utils.test.ts +0 -21
- package/src/types/blockchain/ISignature.ts +0 -6
- package/src/types/blockchain/Transaction.ts +0 -34
- package/src/types/blockchain/TxFee.ts +0 -5
- package/src/types/blockchain/ValidityData.ts +0 -15
- package/src/types/blockchain/addressInfo.ts +0 -7
- package/src/types/blockchain/blocks.ts +0 -29
- package/src/types/blockchain/genesisTypes.ts +0 -39
- package/src/types/blockchain/rawTransaction.ts +0 -27
- package/src/types/blockchain/statusNative.ts +0 -6
- package/src/types/blockchain/statusProperties.ts +0 -8
- package/src/types/communication/transmit.ts +0 -27
- package/src/types/gls/Operation.ts +0 -25
- package/src/types/gls/StateChange.ts +0 -33
- package/src/types/index.ts +0 -60
- package/src/types/network/ExecutionResult.ts +0 -9
- package/src/types/network/SecurityTypes.ts +0 -18
- package/src/types/peers/Peer.ts +0 -18
- package/src/types/web2/index.ts +0 -76
- package/src/types/xm/index.ts +0 -21
- package/src/utils/dataManipulation.ts +0 -37
- package/src/utils/index.ts +0 -1
- package/src/websdk/DemosTransactions.ts +0 -74
- package/src/websdk/DemosWebAuth.ts +0 -186
- package/src/websdk/Web2Transactions.ts +0 -41
- package/src/websdk/XMTransactions.ts +0 -140
- package/src/websdk/demos.ts +0 -461
- package/src/websdk/index.ts +0 -15
- package/src/websdk/rsa.ts +0 -85
- package/src/websdk/types/IBuffer.ts +0 -4
- package/src/websdk/types/KeyPair.ts +0 -9
- package/src/websdk/utils/bufferizer.ts +0 -16
- package/src/websdk/utils/forge_converter.ts +0 -72
- package/src/websdk/utils/required.ts +0 -44
- package/src/websdk/utils/sha256.ts +0 -13
- package/src/websdk/utils/skeletons.ts +0 -69
- package/tsconfig.json +0 -34
- package/yarn.lock +0 -3705
package/package.json
CHANGED
|
@@ -1,58 +1,56 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
}
|
|
2
|
+
"name": "@kynesyslabs/demosdk",
|
|
3
|
+
"version": "1.0.22",
|
|
4
|
+
"main": "build/index.js",
|
|
5
|
+
"types": "build/index.d.ts",
|
|
6
|
+
"author": "Kynesys Labs",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"files": [
|
|
9
|
+
"build/",
|
|
10
|
+
"!build/tests"
|
|
11
|
+
],
|
|
12
|
+
"exports": {
|
|
13
|
+
".": "./build/index.js",
|
|
14
|
+
"./types": "./build/types/index.js",
|
|
15
|
+
"./websdk": "./build/websdk/index.js",
|
|
16
|
+
"./xm-websdk": "./build/multichain/websdk/index.js",
|
|
17
|
+
"./xm-localsdk": "./build/multichain/localsdk/index.js"
|
|
18
|
+
},
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "rm -rf build && tsc --skipLibCheck && resolve-tspaths && mv build/src/* build/ && rm -rf build/src",
|
|
21
|
+
"publish": "yarn npm publish",
|
|
22
|
+
"test:multichain": "rm -rf build && jest --testMatch '**/tests/**/*.ts' --testPathIgnorePatterns **/tests/**/chainProvider* **/tests/utils/* **/tests/**/template* --verbose"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@cosmjs/proto-signing": "^0.32.3",
|
|
26
|
+
"@cosmjs/stargate": "^0.32.3",
|
|
27
|
+
"@multiversx/sdk-core": "^13.0.0",
|
|
28
|
+
"@multiversx/sdk-extension-provider": "^3.0.0",
|
|
29
|
+
"@multiversx/sdk-network-providers": "^2.4.3",
|
|
30
|
+
"@multiversx/sdk-wallet": "^4.4.0",
|
|
31
|
+
"@solana/web3.js": "^1.91.7",
|
|
32
|
+
"@types/rijndael-js": "^1.0.2",
|
|
33
|
+
"argon2": "^0.40.1",
|
|
34
|
+
"big-integer": "^1.6.52",
|
|
35
|
+
"bs58": "^5.0.0",
|
|
36
|
+
"ethers": "^6.11.1",
|
|
37
|
+
"mceliece-nist": "^4.0.1",
|
|
38
|
+
"node-forge": "^1.3.1",
|
|
39
|
+
"node-seal": "^5.1.3",
|
|
40
|
+
"rijndael-js": "^2.0.0",
|
|
41
|
+
"socket.io-client": "^4.7.2",
|
|
42
|
+
"superdilithium": "^2.0.6",
|
|
43
|
+
"xrpl": "^3.0.0"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/jest": "^29.5.12",
|
|
47
|
+
"@types/node": "^20.12.4",
|
|
48
|
+
"@types/node-forge": "^1.3.11",
|
|
49
|
+
"jest": "^29.7.0",
|
|
50
|
+
"resolve-tspaths": "^0.8.18",
|
|
51
|
+
"ts-jest": "^29.1.2",
|
|
52
|
+
"ts-node": "^10.9.2",
|
|
53
|
+
"typescript": "^5.4.3"
|
|
54
|
+
},
|
|
55
|
+
"packageManager": "yarn@3.8.0"
|
|
56
|
+
}
|
package/.eslintignore
DELETED
package/.eslintrc.cjs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
env: {
|
|
3
|
-
commonjs: true,
|
|
4
|
-
es6: true,
|
|
5
|
-
node: true,
|
|
6
|
-
jest: true,
|
|
7
|
-
},
|
|
8
|
-
globals: {
|
|
9
|
-
NodeJS: "readonly",
|
|
10
|
-
},
|
|
11
|
-
extends: "eslint:recommended",
|
|
12
|
-
parserOptions: {
|
|
13
|
-
ecmaVersion: 2020,
|
|
14
|
-
sourceType: "module",
|
|
15
|
-
},
|
|
16
|
-
parser: "@typescript-eslint/parser",
|
|
17
|
-
plugins: ["@typescript-eslint"],
|
|
18
|
-
rules: {
|
|
19
|
-
// indent: ["error", 4, { SwitchCase: 1 }],
|
|
20
|
-
"linebreak-style": ["error", "unix"],
|
|
21
|
-
quotes: ["error", "double"],
|
|
22
|
-
semi: ["error", "never"],
|
|
23
|
-
// "no-console": "warn",
|
|
24
|
-
// no-unused-vars is disabled
|
|
25
|
-
"no-unused-vars": ["off"],
|
|
26
|
-
"switch-colon-spacing": ["error", { after: true, before: false }],
|
|
27
|
-
"no-extra-semi": "error",
|
|
28
|
-
"comma-dangle": ["error", "always-multiline"],
|
|
29
|
-
"no-restricted-imports": ["warn"],
|
|
30
|
-
},
|
|
31
|
-
}
|
package/.gitattributes
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
name: Build and Publish
|
|
2
|
-
|
|
3
|
-
# INFO: This workflow can't push to the repository
|
|
4
|
-
permissions: read-all
|
|
5
|
-
|
|
6
|
-
# INFO: Run workflow on changes to the sdks
|
|
7
|
-
on:
|
|
8
|
-
push:
|
|
9
|
-
branches:
|
|
10
|
-
- back-to-legacy-yarn
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
build:
|
|
14
|
-
name: Build
|
|
15
|
-
runs-on: ubuntu-latest
|
|
16
|
-
if: startsWith(github.event.head_commit.message, 'release')
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v3
|
|
19
|
-
- name: Setup Node 18
|
|
20
|
-
uses: actions/setup-node@v3
|
|
21
|
-
with:
|
|
22
|
-
node-version: 18.x
|
|
23
|
-
always-auth: true
|
|
24
|
-
- name: Cache dependencies
|
|
25
|
-
uses: actions/cache@v3
|
|
26
|
-
with:
|
|
27
|
-
path: ~/.npm
|
|
28
|
-
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
|
|
29
|
-
restore-keys: |
|
|
30
|
-
${{ runner.os }}-node-
|
|
31
|
-
- name: Install dependencies
|
|
32
|
-
run: |
|
|
33
|
-
yarn install
|
|
34
|
-
- name: Build package
|
|
35
|
-
run: |
|
|
36
|
-
yarn build
|
|
37
|
-
- name: Create .npmrc
|
|
38
|
-
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_PUBLISH_KEY }}" > ~/.npmrc
|
|
39
|
-
- name: Publish 🎉
|
|
40
|
-
run: |
|
|
41
|
-
yarn publish
|
|
42
|
-
# env:
|
|
43
|
-
# NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_KEY }}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
name: Chain tests
|
|
2
|
-
|
|
3
|
-
# INFO: This workflow can't push to the repository
|
|
4
|
-
permissions: read-all
|
|
5
|
-
|
|
6
|
-
# INFO: Run workflow on changes to the sdks
|
|
7
|
-
on:
|
|
8
|
-
push:
|
|
9
|
-
paths:
|
|
10
|
-
- 'src/multichain/**'
|
|
11
|
-
- 'src/tests/multichain/**'
|
|
12
|
-
|
|
13
|
-
jobs:
|
|
14
|
-
test:
|
|
15
|
-
name: XM Chain tests
|
|
16
|
-
runs-on: ubuntu-latest
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v3
|
|
19
|
-
- name: Setup Node 18
|
|
20
|
-
uses: actions/setup-node@v3
|
|
21
|
-
with:
|
|
22
|
-
node-version: 18.x
|
|
23
|
-
- name: Cache dependencies
|
|
24
|
-
uses: actions/cache@v3
|
|
25
|
-
with:
|
|
26
|
-
path: ~/.npm
|
|
27
|
-
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
|
|
28
|
-
restore-keys: |
|
|
29
|
-
${{ runner.os }}-node-
|
|
30
|
-
- name: Install dependencies
|
|
31
|
-
run: |
|
|
32
|
-
yarn install --frozen-lockfile
|
|
33
|
-
- name: Run tests
|
|
34
|
-
run: |
|
|
35
|
-
yarn test:multichain
|
package/.gitignore
DELETED
package/.prettierrc
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json.schemastore.org/prettierrc",
|
|
3
|
-
"arrowParens": "avoid",
|
|
4
|
-
"bracketSpacing": true,
|
|
5
|
-
"endOfLine": "lf",
|
|
6
|
-
"printWidth": 80,
|
|
7
|
-
"singleQuote": false,
|
|
8
|
-
"tabWidth": 4,
|
|
9
|
-
"semi": false,
|
|
10
|
-
"trailingComma": "all",
|
|
11
|
-
"useTabs": false,
|
|
12
|
-
"SwitchCase": 1
|
|
13
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
eth: {
|
|
3
|
-
mainnet: string;
|
|
4
|
-
sepolia: string;
|
|
5
|
-
goerli: string;
|
|
6
|
-
};
|
|
7
|
-
xrpl: {
|
|
8
|
-
mainnet: string;
|
|
9
|
-
testnet: string;
|
|
10
|
-
};
|
|
11
|
-
egld: {
|
|
12
|
-
mainnet: string;
|
|
13
|
-
testnet: string;
|
|
14
|
-
};
|
|
15
|
-
filecoin: {
|
|
16
|
-
mainnet: string;
|
|
17
|
-
calibration: string;
|
|
18
|
-
testnet: string;
|
|
19
|
-
};
|
|
20
|
-
ibc: {
|
|
21
|
-
mainnet: string;
|
|
22
|
-
testnet: string;
|
|
23
|
-
};
|
|
24
|
-
solana: {
|
|
25
|
-
mainnet: string;
|
|
26
|
-
devnet: string;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
export default _default;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
4
|
-
exports.default = {
|
|
5
|
-
eth: {
|
|
6
|
-
mainnet: "https://rpc.ankr.com/eth",
|
|
7
|
-
sepolia: "https://rpc.ankr.com/eth_sepolia",
|
|
8
|
-
goerli: "https://ethereum-goerli.publicnode.com",
|
|
9
|
-
},
|
|
10
|
-
xrpl: {
|
|
11
|
-
mainnet: "wss://s1.ripple.com:51234/",
|
|
12
|
-
testnet: "wss://s.altnet.rippletest.net:51233/",
|
|
13
|
-
},
|
|
14
|
-
egld: {
|
|
15
|
-
mainnet: "https://api.multiversx.com",
|
|
16
|
-
testnet: "https://testnet-api.multiversx.com",
|
|
17
|
-
},
|
|
18
|
-
filecoin: {
|
|
19
|
-
mainnet: "https://rpc.ankr.com/filecoin",
|
|
20
|
-
calibration: "https://rpc.ankr.com/filecoin_testnet",
|
|
21
|
-
testnet: "https://rpc.ankr.com/filecoin_testnet",
|
|
22
|
-
},
|
|
23
|
-
ibc: {
|
|
24
|
-
mainnet: "",
|
|
25
|
-
// Stargaze 👇
|
|
26
|
-
testnet: "https://rpc.elgafar-1.stargaze-apis.com",
|
|
27
|
-
},
|
|
28
|
-
solana: {
|
|
29
|
-
mainnet: (0, web3_js_1.clusterApiUrl)("mainnet-beta"),
|
|
30
|
-
// using devnet as testnet faucet is broken 👇
|
|
31
|
-
devnet: (0, web3_js_1.clusterApiUrl)("devnet"),
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=chainProviders.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chainProviders.js","sourceRoot":"","sources":["../../../../src/tests/multichain/chainProviders.ts"],"names":[],"mappings":";;AAAA,6CAA+C;AAE/C,kBAAe;IACX,GAAG,EAAE;QACD,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,wCAAwC;KACnD;IACD,IAAI,EAAE;QACF,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE,sCAAsC;KAClD;IACD,IAAI,EAAE;QACF,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE,oCAAoC;KAChD;IACD,QAAQ,EAAE;QACN,OAAO,EAAE,+BAA+B;QACxC,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,uCAAuC;KACnD;IACD,GAAG,EAAE;QACD,OAAO,EAAE,EAAE;QACX,cAAc;QACd,OAAO,EAAE,yCAAyC;KACrD;IACD,MAAM,EAAE;QACJ,OAAO,EAAE,IAAA,uBAAa,EAAC,cAAc,CAAC;QACtC,8CAA8C;QAC9C,MAAM,EAAE,IAAA,uBAAa,EAAC,QAAQ,CAAC;KAClC;CACJ,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const ethers_1 = require("ethers");
|
|
7
|
-
const core_1 = require("../../multichain/core");
|
|
8
|
-
const utils_1 = require("../utils");
|
|
9
|
-
const wallets_1 = require("../utils/wallets");
|
|
10
|
-
const chainProviders_1 = __importDefault(require("./chainProviders"));
|
|
11
|
-
describe('EVM CHAIN TESTS', () => {
|
|
12
|
-
const instance = new core_1.EVM(chainProviders_1.default.eth.sepolia);
|
|
13
|
-
beforeAll(async () => {
|
|
14
|
-
const connected = await instance.connect();
|
|
15
|
-
await instance.connectWallet(wallets_1.wallets.evm.wallet);
|
|
16
|
-
expect(connected).toBe(true);
|
|
17
|
-
});
|
|
18
|
-
test('preparePay returns a signed transaction', async () => {
|
|
19
|
-
const address = instance.getAddress();
|
|
20
|
-
const signed_tx = await instance.preparePay(address, '1');
|
|
21
|
-
// INFO: Reconstruct the transaction from the signed transaction
|
|
22
|
-
const tx = ethers_1.Transaction.from(signed_tx);
|
|
23
|
-
// INFO: the r parameter is 32 bytes long
|
|
24
|
-
// INFO: We assert with 66 because it's a hex string
|
|
25
|
-
// (2 characters per byte + 2 for the 0x prefix)
|
|
26
|
-
expect(tx.signature?.r.length).toEqual(66);
|
|
27
|
-
});
|
|
28
|
-
test('A tx is signed with the ledger nonce', async () => {
|
|
29
|
-
const address = instance.getAddress();
|
|
30
|
-
const ledgerNonce = await instance.provider.getTransactionCount(address);
|
|
31
|
-
const signed_tx = await instance.preparePay(address, '1');
|
|
32
|
-
// INFO: Reconstruct the transaction from the signed payload
|
|
33
|
-
const tx = ethers_1.Transaction.from(signed_tx);
|
|
34
|
-
expect(tx.nonce).toEqual(ledgerNonce);
|
|
35
|
-
});
|
|
36
|
-
test('Transactions are signed with increasing nonces', async () => {
|
|
37
|
-
const address = instance.getAddress();
|
|
38
|
-
const transfers = (0, utils_1.getSampleTranfers)(address);
|
|
39
|
-
const signed_txs = await instance.preparePays(transfers);
|
|
40
|
-
const txs = signed_txs.map((tx) => ethers_1.Transaction.from(tx));
|
|
41
|
-
const nonces_sorted = (0, utils_1.verifyNumberOrder)(txs, 'nonce');
|
|
42
|
-
expect(nonces_sorted).toBe(true);
|
|
43
|
-
});
|
|
44
|
-
test('Transactions are signed in order of appearance', async () => {
|
|
45
|
-
const address = instance.getAddress();
|
|
46
|
-
const transfers = (0, utils_1.getSampleTranfers)(address);
|
|
47
|
-
const signed_txs = await instance.preparePays(transfers);
|
|
48
|
-
const txs = signed_txs.map((tx) => ethers_1.Transaction.from(tx));
|
|
49
|
-
const values_sorted = (0, utils_1.verifyNumberOrder)(txs, 'value');
|
|
50
|
-
expect(values_sorted).toBe(true);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
//# sourceMappingURL=evm.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evm.test.js","sourceRoot":"","sources":["../../../../src/tests/multichain/evm.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const proto_signing_1 = require("@cosmjs/proto-signing");
|
|
7
|
-
const stargate_1 = require("@cosmjs/stargate");
|
|
8
|
-
const core_1 = require("../../multichain/core");
|
|
9
|
-
const utils_1 = require("../utils");
|
|
10
|
-
const wallets_1 = require("../utils/wallets");
|
|
11
|
-
const chainProviders_1 = __importDefault(require("./chainProviders"));
|
|
12
|
-
describe('IBC CHAIN TESTS', () => {
|
|
13
|
-
let instance;
|
|
14
|
-
const chain_prefix = 'stars';
|
|
15
|
-
const token_denom = 'ustars';
|
|
16
|
-
const payment_options = { denom: token_denom };
|
|
17
|
-
beforeAll(async () => {
|
|
18
|
-
instance = await core_1.IBC.create(chainProviders_1.default.ibc.testnet);
|
|
19
|
-
await instance.connectWallet(wallets_1.wallets.ibc.wallet, {
|
|
20
|
-
prefix: chain_prefix,
|
|
21
|
-
gasPrice: '0.012ustars',
|
|
22
|
-
});
|
|
23
|
-
expect(instance.connected).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
test('preparePay returns a signed tx', async () => {
|
|
26
|
-
const address = instance.getAddress();
|
|
27
|
-
const tx_bytes = await instance.preparePay(address, '1', payment_options);
|
|
28
|
-
// INFO: Decode the bytes to get the raw tx
|
|
29
|
-
// LINK: https://cosmos.github.io/cosmjs/latest/proto-signing/modules.html#decodeTxRaw
|
|
30
|
-
// Ctrl + click decodeTxRaw to see the decoded raw Tx interface
|
|
31
|
-
const raw_tx = (0, proto_signing_1.decodeTxRaw)(tx_bytes);
|
|
32
|
-
expect(raw_tx.signatures.length == 1).toBe(true);
|
|
33
|
-
});
|
|
34
|
-
test('A tx is signed with the ledger nonce', async () => {
|
|
35
|
-
const address = instance.getAddress();
|
|
36
|
-
// INFO: Get the current ledger sequence
|
|
37
|
-
const ledger_sequence = (await instance.provider.getAccount(address))
|
|
38
|
-
?.sequence;
|
|
39
|
-
// INFO: Sign and decode the tx
|
|
40
|
-
const tx_bytes = await instance.preparePay(address, '1', payment_options);
|
|
41
|
-
const raw_tx = (0, proto_signing_1.decodeTxRaw)(tx_bytes);
|
|
42
|
-
// INFO: Compare the sequences
|
|
43
|
-
const tx_sequence = Number(raw_tx.authInfo.signerInfos[0].sequence);
|
|
44
|
-
expect(tx_sequence).toEqual(ledger_sequence);
|
|
45
|
-
});
|
|
46
|
-
test('Transactions are signed with increasing nonces', async () => {
|
|
47
|
-
const address = instance.getAddress();
|
|
48
|
-
const payments = (0, utils_1.getSampleTranfers)(address);
|
|
49
|
-
const signed_txs = await instance.preparePays(payments, payment_options);
|
|
50
|
-
// INFO: Get a list of objects containing the sequences
|
|
51
|
-
const signer_infos = signed_txs.map((tx_bytes) => {
|
|
52
|
-
const tx = (0, proto_signing_1.decodeTxRaw)(tx_bytes);
|
|
53
|
-
return tx.authInfo.signerInfos[0];
|
|
54
|
-
});
|
|
55
|
-
const is_sorted = (0, utils_1.verifyNumberOrder)(signer_infos, 'sequence');
|
|
56
|
-
expect(is_sorted).toBe(true);
|
|
57
|
-
});
|
|
58
|
-
test('Transactions are signed in order of appearance', async () => {
|
|
59
|
-
const address = instance.getAddress();
|
|
60
|
-
const payments = (0, utils_1.getSampleTranfers)(address);
|
|
61
|
-
const signed_txs = await instance.preparePays(payments, payment_options);
|
|
62
|
-
const amounts = signed_txs.map((tx_bytes) => {
|
|
63
|
-
const tx = (0, proto_signing_1.decodeTxRaw)(tx_bytes);
|
|
64
|
-
// INFO: Decode the message to get the amount
|
|
65
|
-
// LINK: https://cosmos.github.io/cosmjs/latest/proto-signing/classes/Registry.html
|
|
66
|
-
const registry = new proto_signing_1.Registry(stargate_1.defaultRegistryTypes);
|
|
67
|
-
const message = registry.decode(tx.body.messages[0]);
|
|
68
|
-
return message['amount'][0];
|
|
69
|
-
});
|
|
70
|
-
const is_sorted = (0, utils_1.verifyNumberOrder)(amounts, 'amount');
|
|
71
|
-
expect(is_sorted).toBe(true);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
//# sourceMappingURL=ibc.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ibc.test.js","sourceRoot":"","sources":["../../../../src/tests/multichain/ibc.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
These are generic tests for each chain.
|
|
4
|
-
They make sure all the sdks behave the same way.
|
|
5
|
-
*/
|
|
6
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
const core_1 = require("../../multichain/core");
|
|
11
|
-
const chainProviders_1 = __importDefault(require("./chainProviders"));
|
|
12
|
-
// INFO: Chains and their RPCs
|
|
13
|
-
const chains = [
|
|
14
|
-
{
|
|
15
|
-
name: 'EGLD',
|
|
16
|
-
sdk: core_1.MULTIVERSX,
|
|
17
|
-
rpc: chainProviders_1.default.egld.testnet,
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
name: 'XRPL',
|
|
21
|
-
sdk: core_1.XRPL,
|
|
22
|
-
rpc: chainProviders_1.default.xrpl.testnet,
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
name: 'EVM',
|
|
26
|
-
sdk: core_1.EVM,
|
|
27
|
-
rpc: chainProviders_1.default.eth.sepolia,
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: 'IBC',
|
|
31
|
-
sdk: core_1.IBC,
|
|
32
|
-
rpc: chainProviders_1.default.ibc.testnet,
|
|
33
|
-
},
|
|
34
|
-
];
|
|
35
|
-
// INFO: For loop to test each chain sdk
|
|
36
|
-
describe.each(chains)('GENERIC CHAIN TESTS › $name', ({ name, rpc, sdk }) => {
|
|
37
|
-
let instance;
|
|
38
|
-
beforeAll(async () => {
|
|
39
|
-
// @ts-expect-error
|
|
40
|
-
// Caused by the use of generics to determine the output of sdk.create
|
|
41
|
-
instance = await sdk.create(rpc);
|
|
42
|
-
});
|
|
43
|
-
test('Chain has a valid name', () => {
|
|
44
|
-
expect(instance.name).toBeTruthy();
|
|
45
|
-
});
|
|
46
|
-
test('Testnet RPC is up', async () => {
|
|
47
|
-
const connected = await instance.connect();
|
|
48
|
-
expect(instance.connected).toBe(true);
|
|
49
|
-
expect(connected).toBe(true);
|
|
50
|
-
// INFO: Max timeout for this test
|
|
51
|
-
});
|
|
52
|
-
test('On connect failure, .connected is false', async () => {
|
|
53
|
-
const mock = jest.fn().mockRejectedValue(new Error('mock error'));
|
|
54
|
-
// INFO: Mock the provider method that connects to the RPC to throw an error
|
|
55
|
-
switch (name) {
|
|
56
|
-
case 'EVM':
|
|
57
|
-
;
|
|
58
|
-
instance.provider.getNetwork = mock;
|
|
59
|
-
break;
|
|
60
|
-
case 'IBC':
|
|
61
|
-
;
|
|
62
|
-
instance.provider.getChainId = mock;
|
|
63
|
-
break;
|
|
64
|
-
case 'XRPL':
|
|
65
|
-
;
|
|
66
|
-
instance.provider.connect = mock;
|
|
67
|
-
break;
|
|
68
|
-
case 'EGLD':
|
|
69
|
-
;
|
|
70
|
-
instance.provider.getNetworkConfig = mock;
|
|
71
|
-
break;
|
|
72
|
-
default:
|
|
73
|
-
expect(true).toBe(false);
|
|
74
|
-
}
|
|
75
|
-
let isConnected;
|
|
76
|
-
if (name === 'IBC') {
|
|
77
|
-
isConnected = await instance.connect(instance.rpc_url);
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
// @ts-expect-error
|
|
81
|
-
isConnected = await instance.connect(false);
|
|
82
|
-
}
|
|
83
|
-
expect(isConnected).toBe(false);
|
|
84
|
-
});
|
|
85
|
-
test('On disconnect, provider is reset', async () => {
|
|
86
|
-
// INFO: Disconnecting allows us to exit tests without
|
|
87
|
-
// leaving open handles for web socket providers (eg. XRPL)
|
|
88
|
-
await instance.disconnect();
|
|
89
|
-
expect(instance.connected).toBe(false);
|
|
90
|
-
expect(instance.provider).toBe(null);
|
|
91
|
-
expect(instance.wallet).toBe(null);
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tests/multichain/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const sdk_core_1 = require("@multiversx/sdk-core");
|
|
7
|
-
const core_1 = require("../../multichain/core");
|
|
8
|
-
const utils_1 = require("../utils");
|
|
9
|
-
const wallets_1 = require("../utils/wallets");
|
|
10
|
-
const chainProviders_1 = __importDefault(require("./chainProviders"));
|
|
11
|
-
describe('EGLD CHAIN TESTS', () => {
|
|
12
|
-
let instance;
|
|
13
|
-
beforeAll(async () => {
|
|
14
|
-
instance = await core_1.MULTIVERSX.create(chainProviders_1.default.egld.testnet);
|
|
15
|
-
const connected = await instance.connect();
|
|
16
|
-
expect(connected).toBe(true);
|
|
17
|
-
});
|
|
18
|
-
test('preparePay returns a signed transaction', async () => {
|
|
19
|
-
await instance.connectWallet(wallets_1.wallets.egld.wallet, {
|
|
20
|
-
password: wallets_1.wallets.egld.password,
|
|
21
|
-
});
|
|
22
|
-
const tx = await instance.preparePay(instance.getAddress(), '0.00001');
|
|
23
|
-
// INFO: Signature should be a 128 bit string
|
|
24
|
-
expect(tx.signature?.length).toEqual(128);
|
|
25
|
-
});
|
|
26
|
-
test('Transcation is signed with the ledger nonce', async () => {
|
|
27
|
-
const address = new sdk_core_1.Address(instance.getAddress());
|
|
28
|
-
// INFO: Get the user's account on the network
|
|
29
|
-
const accountOnNetwork = await instance.provider.getAccount(address);
|
|
30
|
-
const ledgerNonce = accountOnNetwork.nonce;
|
|
31
|
-
const tx = await instance.preparePay(instance.getAddress(), '0.00001');
|
|
32
|
-
expect(tx.nonce).toEqual(ledgerNonce);
|
|
33
|
-
});
|
|
34
|
-
test('Transactions are signed with increasing nonces', async () => {
|
|
35
|
-
const address = instance.getAddress();
|
|
36
|
-
const txs = await instance.preparePays((0, utils_1.getSampleTranfers)(address));
|
|
37
|
-
const is_sorted = (0, utils_1.verifyNumberOrder)(txs, 'nonce');
|
|
38
|
-
// INFO: Nonces should be sorted in ascending order
|
|
39
|
-
expect(is_sorted).toBe(true);
|
|
40
|
-
});
|
|
41
|
-
test('Transactions are signed in order of appearance', async () => {
|
|
42
|
-
const address = instance.getAddress();
|
|
43
|
-
const txs = await instance.preparePays((0, utils_1.getSampleTranfers)(address));
|
|
44
|
-
const is_sorted = (0, utils_1.verifyNumberOrder)(txs, 'value');
|
|
45
|
-
// INFO: Amounts should be sorted in ascending order
|
|
46
|
-
expect(is_sorted).toEqual(true);
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
//# sourceMappingURL=multiversx.test.js.map
|