@shapeshiftoss/hdwallet-native 1.50.8 → 1.50.9
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/dist/adapter.d.ts +1 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +5 -1
- package/dist/adapter.js.map +1 -1
- package/dist/arkeo.js +5 -1
- package/dist/arkeo.js.map +1 -1
- package/dist/binance.d.ts +1 -1
- package/dist/binance.d.ts.map +1 -1
- package/dist/binance.js +14 -10
- package/dist/binance.js.map +1 -1
- package/dist/bitcoin.d.ts +9 -9
- package/dist/bitcoin.d.ts.map +1 -1
- package/dist/bitcoin.js +10 -6
- package/dist/bitcoin.js.map +1 -1
- package/dist/cosmos.js +5 -1
- package/dist/cosmos.js.map +1 -1
- package/dist/crypto/CryptoHelper.js +6 -2
- package/dist/crypto/CryptoHelper.js.map +1 -1
- package/dist/crypto/EncryptedWallet.js +5 -1
- package/dist/crypto/EncryptedWallet.js.map +1 -1
- package/dist/crypto/classes/cipherString.js +6 -6
- package/dist/crypto/classes/cipherString.js.map +1 -1
- package/dist/crypto/classes/encryptionType.js +1 -1
- package/dist/crypto/classes/encryptionType.js.map +1 -1
- package/dist/crypto/classes/symmetricCryptoKey.js +3 -3
- package/dist/crypto/classes/symmetricCryptoKey.js.map +1 -1
- package/dist/crypto/engines/index.js +5 -1
- package/dist/crypto/engines/index.js.map +1 -1
- package/dist/crypto/engines/types.js +1 -1
- package/dist/crypto/engines/types.js.map +1 -1
- package/dist/crypto/engines/web-crypto.js +5 -1
- package/dist/crypto/engines/web-crypto.js.map +1 -1
- package/dist/crypto/index.js +5 -1
- package/dist/crypto/index.js.map +1 -1
- package/dist/crypto/isolation/adapters/binance.d.ts +1 -1
- package/dist/crypto/isolation/adapters/binance.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/binance.js +5 -1
- package/dist/crypto/isolation/adapters/binance.js.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.d.ts +1 -1
- package/dist/crypto/isolation/adapters/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.js +6 -2
- package/dist/crypto/isolation/adapters/bip32.js.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.d.ts +9 -9
- package/dist/crypto/isolation/adapters/bitcoin.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.js +7 -3
- package/dist/crypto/isolation/adapters/bitcoin.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmosDirect.js +5 -1
- package/dist/crypto/isolation/adapters/cosmosDirect.js.map +1 -1
- package/dist/crypto/isolation/adapters/ethereum.js +7 -3
- package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
- package/dist/crypto/isolation/adapters/fio.d.ts +1 -1
- package/dist/crypto/isolation/adapters/fio.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/fio.js +6 -2
- package/dist/crypto/isolation/adapters/fio.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.d.ts.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.js +6 -2
- package/dist/crypto/isolation/core/bip32/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/interfaces.js +5 -1
- package/dist/crypto/isolation/core/bip32/interfaces.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/types.d.ts +2 -2
- package/dist/crypto/isolation/core/bip32/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/bip32/types.js +2 -2
- package/dist/crypto/isolation/core/bip32/types.js.map +1 -1
- package/dist/crypto/isolation/core/bip39/index.js +5 -1
- package/dist/crypto/isolation/core/bip39/index.js.map +1 -1
- package/dist/crypto/isolation/core/digest/index.js +5 -1
- package/dist/crypto/isolation/core/digest/index.js.map +1 -1
- package/dist/crypto/isolation/core/digest/types.d.ts +8 -8
- package/dist/crypto/isolation/core/digest/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/digest/types.js +10 -10
- package/dist/crypto/isolation/core/digest/types.js.map +1 -1
- package/dist/crypto/isolation/core/index.js +5 -1
- package/dist/crypto/isolation/core/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/index.js +5 -1
- package/dist/crypto/isolation/core/secp256k1/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/types.d.ts +14 -14
- package/dist/crypto/isolation/core/secp256k1/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/types.js +39 -35
- package/dist/crypto/isolation/core/secp256k1/types.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.js +21 -17
- package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip39.js +8 -4
- package/dist/crypto/isolation/engines/default/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/default/index.js +5 -1
- package/dist/crypto/isolation/engines/default/index.js.map +1 -1
- package/dist/crypto/isolation/engines/default/revocable.js +2 -2
- package/dist/crypto/isolation/engines/default/revocable.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip32.js +10 -6
- package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip39.js +9 -5
- package/dist/crypto/isolation/engines/dummy/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/index.js +5 -1
- package/dist/crypto/isolation/engines/dummy/index.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/types.d.ts +1 -1
- package/dist/crypto/isolation/engines/dummy/types.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/index.js +5 -1
- package/dist/crypto/isolation/engines/index.js.map +1 -1
- package/dist/crypto/isolation/index.js +5 -1
- package/dist/crypto/isolation/index.js.map +1 -1
- package/dist/crypto/isolation/types.d.ts +18 -18
- package/dist/crypto/isolation/types.d.ts.map +1 -1
- package/dist/crypto/isolation/types.js +5 -5
- package/dist/crypto/isolation/types.js.map +1 -1
- package/dist/ethereum.js +6 -2
- package/dist/ethereum.js.map +1 -1
- package/dist/fio.js +8 -4
- package/dist/fio.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/kava.js +5 -1
- package/dist/kava.js.map +1 -1
- package/dist/native.d.ts +1 -1
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +10 -6
- package/dist/native.js.map +1 -1
- package/dist/networks.js +5 -1
- package/dist/networks.js.map +1 -1
- package/dist/osmosis.js +5 -1
- package/dist/osmosis.js.map +1 -1
- package/dist/secret.js +5 -1
- package/dist/secret.js.map +1 -1
- package/dist/terra.js +5 -1
- package/dist/terra.js.map +1 -1
- package/dist/thorchain.js +5 -1
- package/dist/thorchain.js.map +1 -1
- package/dist/util.js +6 -2
- package/dist/util.js.map +1 -1
- package/package.json +7 -11
- package/dist/adapter.test.d.ts +0 -2
- package/dist/adapter.test.d.ts.map +0 -1
- package/dist/adapter.test.js +0 -56
- package/dist/adapter.test.js.map +0 -1
- package/dist/arkeo.test.d.ts +0 -2
- package/dist/arkeo.test.d.ts.map +0 -1
- package/dist/arkeo.test.js +0 -101
- package/dist/arkeo.test.js.map +0 -1
- package/dist/binance.test.d.ts +0 -2
- package/dist/binance.test.d.ts.map +0 -1
- package/dist/binance.test.js +0 -297
- package/dist/binance.test.js.map +0 -1
- package/dist/bitcoin.test.d.ts +0 -2
- package/dist/bitcoin.test.d.ts.map +0 -1
- package/dist/bitcoin.test.js +0 -392
- package/dist/bitcoin.test.js.map +0 -1
- package/dist/cosmos.test.d.ts +0 -2
- package/dist/cosmos.test.d.ts.map +0 -1
- package/dist/cosmos.test.js +0 -105
- package/dist/cosmos.test.js.map +0 -1
- package/dist/crypto/CryptoHelper.test.d.ts +0 -2
- package/dist/crypto/CryptoHelper.test.d.ts.map +0 -1
- package/dist/crypto/CryptoHelper.test.js +0 -192
- package/dist/crypto/CryptoHelper.test.js.map +0 -1
- package/dist/crypto/EncryptedWallet.test.d.ts +0 -2
- package/dist/crypto/EncryptedWallet.test.d.ts.map +0 -1
- package/dist/crypto/EncryptedWallet.test.js +0 -170
- package/dist/crypto/EncryptedWallet.test.js.map +0 -1
- package/dist/crypto/classes/cipherString.test.d.ts +0 -2
- package/dist/crypto/classes/cipherString.test.d.ts.map +0 -1
- package/dist/crypto/classes/cipherString.test.js +0 -54
- package/dist/crypto/classes/cipherString.test.js.map +0 -1
- package/dist/crypto/classes/symmetricCryptoKey.test.d.ts +0 -2
- package/dist/crypto/classes/symmetricCryptoKey.test.d.ts.map +0 -1
- package/dist/crypto/classes/symmetricCryptoKey.test.js +0 -41
- package/dist/crypto/classes/symmetricCryptoKey.test.js.map +0 -1
- package/dist/crypto/engines/web-crypto.test.d.ts +0 -2
- package/dist/crypto/engines/web-crypto.test.d.ts.map +0 -1
- package/dist/crypto/engines/web-crypto.test.js +0 -167
- package/dist/crypto/engines/web-crypto.test.js.map +0 -1
- package/dist/crypto/isolation/core/digest/index.test.d.ts +0 -2
- package/dist/crypto/isolation/core/digest/index.test.d.ts.map +0 -1
- package/dist/crypto/isolation/core/digest/index.test.js +0 -42
- package/dist/crypto/isolation/core/digest/index.test.js.map +0 -1
- package/dist/crypto/isolation/engines/default/index.test.d.ts +0 -2
- package/dist/crypto/isolation/engines/default/index.test.d.ts.map +0 -1
- package/dist/crypto/isolation/engines/default/index.test.js +0 -98
- package/dist/crypto/isolation/engines/default/index.test.js.map +0 -1
- package/dist/crypto/isolation/engines/dummy/index.test.d.ts +0 -2
- package/dist/crypto/isolation/engines/dummy/index.test.d.ts.map +0 -1
- package/dist/crypto/isolation/engines/dummy/index.test.js +0 -111
- package/dist/crypto/isolation/engines/dummy/index.test.js.map +0 -1
- package/dist/crypto/utils.test.d.ts +0 -2
- package/dist/crypto/utils.test.d.ts.map +0 -1
- package/dist/crypto/utils.test.js +0 -56
- package/dist/crypto/utils.test.js.map +0 -1
- package/dist/ethereum.test.d.ts +0 -2
- package/dist/ethereum.test.d.ts.map +0 -1
- package/dist/ethereum.test.js +0 -281
- package/dist/ethereum.test.js.map +0 -1
- package/dist/fio.test.d.ts +0 -2
- package/dist/fio.test.d.ts.map +0 -1
- package/dist/fio.test.js +0 -281
- package/dist/fio.test.js.map +0 -1
- package/dist/index.test.d.ts +0 -2
- package/dist/index.test.d.ts.map +0 -1
- package/dist/index.test.js +0 -31
- package/dist/index.test.js.map +0 -1
- package/dist/kava.test.d.ts +0 -2
- package/dist/kava.test.d.ts.map +0 -1
- package/dist/kava.test.js +0 -87
- package/dist/kava.test.js.map +0 -1
- package/dist/native.test.d.ts +0 -2
- package/dist/native.test.d.ts.map +0 -1
- package/dist/native.test.js +0 -472
- package/dist/native.test.js.map +0 -1
- package/dist/networks.test.d.ts +0 -2
- package/dist/networks.test.d.ts.map +0 -1
- package/dist/networks.test.js +0 -28
- package/dist/networks.test.js.map +0 -1
- package/dist/osmosis.test.d.ts +0 -2
- package/dist/osmosis.test.d.ts.map +0 -1
- package/dist/osmosis.test.js +0 -105
- package/dist/osmosis.test.js.map +0 -1
- package/dist/secret.test.d.ts +0 -2
- package/dist/secret.test.d.ts.map +0 -1
- package/dist/secret.test.js +0 -86
- package/dist/secret.test.js.map +0 -1
- package/dist/terra.test.d.ts +0 -2
- package/dist/terra.test.d.ts.map +0 -1
- package/dist/terra.test.js +0 -86
- package/dist/terra.test.js.map +0 -1
- package/dist/thorchain.test.d.ts +0 -2
- package/dist/thorchain.test.d.ts.map +0 -1
- package/dist/thorchain.test.js +0 -100
- package/dist/thorchain.test.js.map +0 -1
- package/dist/util.test.d.ts +0 -2
- package/dist/util.test.d.ts.map +0 -1
- package/dist/util.test.js +0 -45
- package/dist/util.test.js.map +0 -1
package/dist/ethereum.test.js
DELETED
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
|
|
32
|
-
const ethers = __importStar(require("ethers"));
|
|
33
|
-
const native = __importStar(require("./native"));
|
|
34
|
-
const MNEMONIC = "all all all all all all all all all all all all";
|
|
35
|
-
const mswMock = require("mswMock")().startServer();
|
|
36
|
-
afterEach(() => expect(mswMock).not.toHaveBeenCalled());
|
|
37
|
-
const untouchable = require("untouchableMock");
|
|
38
|
-
describe("NativeETHWalletInfo", () => {
|
|
39
|
-
const info = native.info();
|
|
40
|
-
it("should return some static metadata", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
-
expect(yield untouchable.call(info, "ethSupportsNetwork")).toBe(true);
|
|
42
|
-
expect(yield untouchable.call(info, "ethSupportsSecureTransfer")).toBe(false);
|
|
43
|
-
expect(untouchable.call(info, "ethSupportsNativeShapeShift")).toBe(false);
|
|
44
|
-
}));
|
|
45
|
-
it("should return the correct account paths", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
-
const paths = info.ethGetAccountPaths({ coin: "Ethereum", accountIdx: 0 });
|
|
47
|
-
expect(paths).toMatchObject([
|
|
48
|
-
{
|
|
49
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
50
|
-
hardenedPath: core.bip32ToAddressNList("m/44'/60'/0'"),
|
|
51
|
-
relPath: [0, 0],
|
|
52
|
-
description: "Native",
|
|
53
|
-
},
|
|
54
|
-
]);
|
|
55
|
-
}));
|
|
56
|
-
it("should return the correct account paths for other coin", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
|
-
const avalanchePaths = info.ethGetAccountPaths({ coin: "Avalanche", accountIdx: 0 });
|
|
58
|
-
expect(avalanchePaths).toMatchObject([
|
|
59
|
-
{
|
|
60
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
61
|
-
hardenedPath: core.bip32ToAddressNList("m/44'/60'/0'"),
|
|
62
|
-
relPath: [0, 0],
|
|
63
|
-
description: "Native",
|
|
64
|
-
},
|
|
65
|
-
]);
|
|
66
|
-
const optimismPaths = info.ethGetAccountPaths({ coin: "Optimism", accountIdx: 0 });
|
|
67
|
-
expect(optimismPaths).toMatchObject([
|
|
68
|
-
{
|
|
69
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
70
|
-
hardenedPath: core.bip32ToAddressNList("m/44'/60'/0'"),
|
|
71
|
-
relPath: [0, 0],
|
|
72
|
-
description: "Native",
|
|
73
|
-
},
|
|
74
|
-
]);
|
|
75
|
-
const bscPaths = info.ethGetAccountPaths({ coin: "BnbSmartChain", accountIdx: 0 });
|
|
76
|
-
expect(bscPaths).toMatchObject([
|
|
77
|
-
{
|
|
78
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
79
|
-
hardenedPath: core.bip32ToAddressNList("m/44'/60'/0'"),
|
|
80
|
-
relPath: [0, 0],
|
|
81
|
-
description: "Native",
|
|
82
|
-
},
|
|
83
|
-
]);
|
|
84
|
-
const polygonPaths = info.ethGetAccountPaths({ coin: "Polygon", accountIdx: 0 });
|
|
85
|
-
expect(polygonPaths).toMatchObject([
|
|
86
|
-
{
|
|
87
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
88
|
-
hardenedPath: core.bip32ToAddressNList("m/44'/60'/0'"),
|
|
89
|
-
relPath: [0, 0],
|
|
90
|
-
description: "Native",
|
|
91
|
-
},
|
|
92
|
-
]);
|
|
93
|
-
const gnosisPaths = info.ethGetAccountPaths({ coin: "Gnosis", accountIdx: 0 });
|
|
94
|
-
expect(gnosisPaths).toMatchObject([
|
|
95
|
-
{
|
|
96
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
97
|
-
hardenedPath: core.bip32ToAddressNList("m/44'/60'/0'"),
|
|
98
|
-
relPath: [0, 0],
|
|
99
|
-
description: "Native",
|
|
100
|
-
},
|
|
101
|
-
]);
|
|
102
|
-
const arbitrumPaths = info.ethGetAccountPaths({ coin: "Arbitrum", accountIdx: 0 });
|
|
103
|
-
expect(arbitrumPaths).toMatchObject([
|
|
104
|
-
{
|
|
105
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
106
|
-
hardenedPath: core.bip32ToAddressNList("m/44'/60'/0'"),
|
|
107
|
-
relPath: [0, 0],
|
|
108
|
-
description: "Native",
|
|
109
|
-
},
|
|
110
|
-
]);
|
|
111
|
-
}));
|
|
112
|
-
it("does not support getting the next account path", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
113
|
-
expect(untouchable.call(info, "ethNextAccountPath", {})).toBe(undefined);
|
|
114
|
-
}));
|
|
115
|
-
});
|
|
116
|
-
describe("NativeETHWallet", () => {
|
|
117
|
-
let wallet;
|
|
118
|
-
beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
119
|
-
wallet = native.create({ deviceId: "native" });
|
|
120
|
-
yield wallet.loadDevice({ mnemonic: MNEMONIC });
|
|
121
|
-
expect(yield wallet.initialize()).toBe(true);
|
|
122
|
-
}));
|
|
123
|
-
it("should generate a correct ethereum address", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
124
|
-
expect(yield wallet.ethGetAddress({ addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0") })).toBe("0x73d0385F4d8E00C5e6504C6030F47BF6212736A8");
|
|
125
|
-
}));
|
|
126
|
-
it("should generate another correct ethereum address at account 1", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
127
|
-
expect(yield wallet.ethGetAddress({ addressNList: core.bip32ToAddressNList("m/44'/60'/1'/0/0") })).toBe("0xeDe5D356020A0aA3DC3fCAf0d899b5c63d7eA4aa");
|
|
128
|
-
}));
|
|
129
|
-
it("should sign a legacy transaction correctly", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
130
|
-
const sig = yield wallet.ethSignTx({
|
|
131
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
132
|
-
nonce: "0xDEADBEEF",
|
|
133
|
-
gasPrice: "0xDEADBEEF",
|
|
134
|
-
gasLimit: "0xDEADBEEF",
|
|
135
|
-
to: "0xDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
|
|
136
|
-
value: "0xDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
|
|
137
|
-
data: "0xDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
|
|
138
|
-
chainId: 1,
|
|
139
|
-
});
|
|
140
|
-
// This is the output from tiny-secp256k1.
|
|
141
|
-
expect(sig).toMatchInlineSnapshot(`
|
|
142
|
-
Object {
|
|
143
|
-
"r": "0x7f21bb5a857db55c888355b2e48325062268ad62686fba56a4e57118f5783dda",
|
|
144
|
-
"s": "0x3e9893ed500842506a19288eb022b5f5b3cee6d1bbf6330f4304f60f8166f82a",
|
|
145
|
-
"serialized": "0xf88984deadbeef84deadbeef84deadbeef94deadbeefdeadbeefdeadbeefdeadbeefdeadbeef90deadbeefdeadbeefdeadbeefdeadbeef90deadbeefdeadbeefdeadbeefdeadbeef26a07f21bb5a857db55c888355b2e48325062268ad62686fba56a4e57118f5783ddaa03e9893ed500842506a19288eb022b5f5b3cee6d1bbf6330f4304f60f8166f82a",
|
|
146
|
-
"v": 38,
|
|
147
|
-
}
|
|
148
|
-
`);
|
|
149
|
-
// This is the output of the native library's own signing function.
|
|
150
|
-
/*expect(sig).toMatchInlineSnapshot(`
|
|
151
|
-
Object {
|
|
152
|
-
"r": "0xec482d7dfc3bfaf395b72dd1de692ab57c24134fb0bea39e986b16a4ad422d2f",
|
|
153
|
-
"s": "0x505506a0fb590d7ef63c24e9ae684eef608a6f48914d7cce762164d8c0a6fb29",
|
|
154
|
-
"serialized": "0xf88984deadbeef84deadbeef84deadbeef94deadbeefdeadbeefdeadbeefdeadbeefdeadbeef90deadbeefdeadbeefdeadbeefdeadbeef90deadbeefdeadbeefdeadbeefdeadbeef26a0ec482d7dfc3bfaf395b72dd1de692ab57c24134fb0bea39e986b16a4ad422d2fa0505506a0fb590d7ef63c24e9ae684eef608a6f48914d7cce762164d8c0a6fb29",
|
|
155
|
-
"v": 38,
|
|
156
|
-
}
|
|
157
|
-
`);*/
|
|
158
|
-
expect(ethers.utils.parseTransaction(sig.serialized).from).toEqual("0x73d0385F4d8E00C5e6504C6030F47BF6212736A8");
|
|
159
|
-
}));
|
|
160
|
-
it("should sign a EIP-1559 transaction correctly", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
161
|
-
const sig = yield wallet.ethSignTx({
|
|
162
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
163
|
-
nonce: "0xCAFEDEAD",
|
|
164
|
-
gasLimit: "0xCAFEDEAD",
|
|
165
|
-
maxFeePerGas: "0xCAFEDEAD",
|
|
166
|
-
maxPriorityFeePerGas: "0xCAFEDEAD",
|
|
167
|
-
to: "0xCAFEDEADCAFEDEADCAFEDEADCAFEDEADCAFEDEAD",
|
|
168
|
-
value: "0xCAFEDEADCAFEDEADCAFEDEADCAFEDEAD",
|
|
169
|
-
data: "0xCAFEDEADCAFEDEADCAFEDEADCAFEDEAD",
|
|
170
|
-
chainId: 1,
|
|
171
|
-
});
|
|
172
|
-
console.debug("SIG: ", sig);
|
|
173
|
-
// This is the output from tiny-secp256k1.
|
|
174
|
-
expect(sig).toMatchInlineSnapshot(`
|
|
175
|
-
Object {
|
|
176
|
-
"r": "0x7a2efa71aa876ede546fdfa83054050b6249a8076297451b2a711e6b0f460234",
|
|
177
|
-
"s": "0x1880e95e79fed382b85077de63d83e787158c8a89839c786465139952cb04a74",
|
|
178
|
-
"serialized": "0x02f8900184cafedead84cafedead84cafedead84cafedead94cafedeadcafedeadcafedeadcafedeadcafedead90cafedeadcafedeadcafedeadcafedead90cafedeadcafedeadcafedeadcafedeadc080a07a2efa71aa876ede546fdfa83054050b6249a8076297451b2a711e6b0f460234a01880e95e79fed382b85077de63d83e787158c8a89839c786465139952cb04a74",
|
|
179
|
-
"v": 0,
|
|
180
|
-
}
|
|
181
|
-
`);
|
|
182
|
-
// This is the output of the native library's own signing function.
|
|
183
|
-
/*expect(sig).toMatchInlineSnapshot(`
|
|
184
|
-
Object {
|
|
185
|
-
"r": "0xec482d7dfc3bfaf395b72dd1de692ab57c24134fb0bea39e986b16a4ad422d2f",
|
|
186
|
-
"s": "0x505506a0fb590d7ef63c24e9ae684eef608a6f48914d7cce762164d8c0a6fb29",
|
|
187
|
-
"serialized": "0xf88984deadbeef84deadbeef84deadbeef94deadbeefdeadbeefdeadbeefdeadbeefdeadbeef90deadbeefdeadbeefdeadbeefdeadbeef90deadbeefdeadbeefdeadbeefdeadbeef26a0ec482d7dfc3bfaf395b72dd1de692ab57c24134fb0bea39e986b16a4ad422d2fa0505506a0fb590d7ef63c24e9ae684eef608a6f48914d7cce762164d8c0a6fb29",
|
|
188
|
-
"v": 38,
|
|
189
|
-
}
|
|
190
|
-
`);*/
|
|
191
|
-
expect(ethers.utils.parseTransaction(sig.serialized).from).toEqual("0x73d0385F4d8E00C5e6504C6030F47BF6212736A8");
|
|
192
|
-
}));
|
|
193
|
-
describe("sign and verify message", () => {
|
|
194
|
-
it("should handle a utf8 message", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
195
|
-
const message = "super secret message";
|
|
196
|
-
const result = yield wallet.ethSignMessage({
|
|
197
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
198
|
-
message,
|
|
199
|
-
});
|
|
200
|
-
if (!result)
|
|
201
|
-
throw new Error("failed to sign message");
|
|
202
|
-
expect(result).toEqual({
|
|
203
|
-
address: "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
|
204
|
-
signature: "0x05f51140905ffa33ffdc57f46b0b8d8fbb1d2a99f8cd843ca27893c01c31351c08b76d83dce412731c846e3b50649724415deb522d00950fbf4f2c1459c2b70b1b",
|
|
205
|
-
});
|
|
206
|
-
const { address, signature } = result;
|
|
207
|
-
const valid = yield wallet.ethVerifyMessage({ address, message, signature });
|
|
208
|
-
expect(valid).toEqual(true);
|
|
209
|
-
}));
|
|
210
|
-
it("should handle a hex encoded utf8 message", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
211
|
-
const message = "0x737570657220736563726574206d657373616765";
|
|
212
|
-
const result = yield wallet.ethSignMessage({
|
|
213
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
214
|
-
message,
|
|
215
|
-
});
|
|
216
|
-
if (!result)
|
|
217
|
-
throw new Error("failed to sign message");
|
|
218
|
-
expect(result).toEqual({
|
|
219
|
-
address: "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
|
220
|
-
signature: "0x05f51140905ffa33ffdc57f46b0b8d8fbb1d2a99f8cd843ca27893c01c31351c08b76d83dce412731c846e3b50649724415deb522d00950fbf4f2c1459c2b70b1b",
|
|
221
|
-
});
|
|
222
|
-
const { address, signature } = result;
|
|
223
|
-
const valid = yield wallet.ethVerifyMessage({ address, message, signature });
|
|
224
|
-
expect(valid).toEqual(true);
|
|
225
|
-
}));
|
|
226
|
-
it("should handle a keccak256 encoded message", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
227
|
-
const message = "0x55d6a11839e2105c96a87f358961004575bae1fe5acd80e26a5eb7e361b20903";
|
|
228
|
-
const result = yield wallet.ethSignMessage({
|
|
229
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
230
|
-
message,
|
|
231
|
-
});
|
|
232
|
-
if (!result)
|
|
233
|
-
throw new Error("failed to sign message");
|
|
234
|
-
expect(result).toEqual({
|
|
235
|
-
address: "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
|
236
|
-
signature: "0x4b4d22773b4a761a2f4cbafb3054830dd1ebaffdc166b4736cf98f1d3dbb0abe31590d32797f55a9b9e77bc46b262dde59eca27c866ad9bb4d83f488d8f208b61c",
|
|
237
|
-
});
|
|
238
|
-
const { address, signature } = result;
|
|
239
|
-
const valid = yield wallet.ethVerifyMessage({ address, message, signature });
|
|
240
|
-
expect(valid).toEqual(true);
|
|
241
|
-
}));
|
|
242
|
-
it("should handle a byte message", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
243
|
-
const message = ethers.utils.arrayify("0xcf8746d5aa75ecfd907eb3cae0aecf7f698a8bfe1f97eb2d77d6539e8991b0ea");
|
|
244
|
-
const result = yield wallet.ethSignMessage({
|
|
245
|
-
addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"),
|
|
246
|
-
message,
|
|
247
|
-
});
|
|
248
|
-
if (!result)
|
|
249
|
-
throw new Error("failed to sign message");
|
|
250
|
-
expect(result).toEqual({
|
|
251
|
-
address: "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
|
252
|
-
signature: "0x3509a531d2e47f2b6a796d69b91568ad9ad2276f4d17399660192ef8cd6580db70dc16b6941f5ba97be926f3717a71c001778da68f9c9771375beb3f3aaa8eb31b",
|
|
253
|
-
});
|
|
254
|
-
const { address, signature } = result;
|
|
255
|
-
const valid = yield wallet.ethVerifyMessage({ address, message, signature });
|
|
256
|
-
expect(valid).toEqual(true);
|
|
257
|
-
}));
|
|
258
|
-
it("should pass verification of a message signed with a different format", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
259
|
-
expect(yield wallet.ethVerifyMessage({
|
|
260
|
-
address: "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
|
261
|
-
message: "super secret message",
|
|
262
|
-
signature: "0x72d4baca0c1ca0eea587decb0177ded99fb50f62c4bd24d8595000d70e6383833eb0700fb6c96086154c2607b735ee1047ed4060211b32a52b43d827615b3e691c",
|
|
263
|
-
})).toBe(true);
|
|
264
|
-
}));
|
|
265
|
-
it("should fail verification of a mismatched message and signature", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
266
|
-
expect(yield wallet.ethVerifyMessage({
|
|
267
|
-
address: "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
|
268
|
-
message: "super public message",
|
|
269
|
-
signature: "0xd67ad52016d6fbc19fb9db81f32dd22cb67570b93b1c0e64ae30a4c2bc0b9c265c2d0f86906610d0cecac42ab90ee298a3474a5eb6d895aa7279d344f32aab191b",
|
|
270
|
-
})).toBe(false);
|
|
271
|
-
}));
|
|
272
|
-
it("should fail verification if the signature is invalid", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
273
|
-
expect(yield wallet.ethVerifyMessage({
|
|
274
|
-
address: "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
|
275
|
-
message: "super secret message",
|
|
276
|
-
signature: "deadbeef16d6fbc19fb9db81f32dd22cb67570b93b1c0e64ae30a4c2bc0b9c265c2d0f86906610d0cecac42ab90ee298a3474a5eb6d895aa7279d344f32aab191b",
|
|
277
|
-
})).toBe(false);
|
|
278
|
-
}));
|
|
279
|
-
});
|
|
280
|
-
});
|
|
281
|
-
//# sourceMappingURL=ethereum.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.test.js","sourceRoot":"","sources":["../src/ethereum.test.ts"],"names":[],"mappings":"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"}
|
package/dist/fio.test.d.ts
DELETED
package/dist/fio.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fio.test.d.ts","sourceRoot":"","sources":["../src/fio.test.ts"],"names":[],"mappings":""}
|
package/dist/fio.test.js
DELETED
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
const fio = __importStar(require("@shapeshiftoss/fiosdk"));
|
|
32
|
-
const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
|
|
33
|
-
const bs58 = __importStar(require("bs58"));
|
|
34
|
-
const tinyecc = __importStar(require("tiny-secp256k1"));
|
|
35
|
-
const Isolation = __importStar(require("./crypto/isolation"));
|
|
36
|
-
const native = __importStar(require("./native"));
|
|
37
|
-
const MNEMONIC = "all all all all all all all all all all all all";
|
|
38
|
-
const mswMock = require("mswMock")({
|
|
39
|
-
get: {
|
|
40
|
-
"https://fio.eu.eosamsterdam.net/v1/chain/get_info": {
|
|
41
|
-
server_version: "0b30e123",
|
|
42
|
-
chain_id: "21dcae42c0182200e93f954a074011f9048a7624c6fe81d3c9541a614a88bd1c",
|
|
43
|
-
head_block_num: 61842307,
|
|
44
|
-
last_irreversible_block_num: 61841978,
|
|
45
|
-
last_irreversible_block_id: "03afa23a114cfee7ef1c7ca90e270422fe37396080738ece42391d9ef31440e8",
|
|
46
|
-
head_block_id: "03afa38300f285879d00fe0f2f659f7a4b09d134dcd678ad12fc788dccf67952",
|
|
47
|
-
head_block_time: "2021-03-18T00:05:14.000",
|
|
48
|
-
head_block_producer: "aloha3joooqd",
|
|
49
|
-
virtual_block_cpu_limit: 200000000,
|
|
50
|
-
virtual_block_net_limit: 1048576000,
|
|
51
|
-
block_cpu_limit: 199900,
|
|
52
|
-
block_net_limit: 1048576,
|
|
53
|
-
server_version_string: "v2.0.0",
|
|
54
|
-
fork_db_head_block_num: 61842307,
|
|
55
|
-
fork_db_head_block_id: "03afa38300f285879d00fe0f2f659f7a4b09d134dcd678ad12fc788dccf67952",
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
post: {
|
|
59
|
-
"https://fio.eu.eosamsterdam.net/v1/chain/get_block": {
|
|
60
|
-
timestamp: "2021-03-18T00:02:29.500",
|
|
61
|
-
producer: "sweidrpkehv2",
|
|
62
|
-
confirmed: 0,
|
|
63
|
-
previous: "03afa2397459431ac5325ceefccfc17168d96efa07198221a48dc7339e4cc265",
|
|
64
|
-
transaction_mroot: "0000000000000000000000000000000000000000000000000000000000000000",
|
|
65
|
-
action_mroot: "5ceb022b440279ec9943e07564aadfa82a3fadfccc9531510ae60c8d6e035d4e",
|
|
66
|
-
schedule_version: 73,
|
|
67
|
-
new_producers: null,
|
|
68
|
-
header_extensions: [],
|
|
69
|
-
producer_signature: "SIG_K1_KAJ9KUhQ94GWqPGmZ13rzHYbaR7kB3f4xaK73G24EEU82fMjboJTtBxZWk65Qdcy3iQimgeJ6bUWaSsU7kmmMMMFwb2fmR",
|
|
70
|
-
transactions: [],
|
|
71
|
-
block_extensions: [],
|
|
72
|
-
id: "03afa23a114cfee7ef1c7ca90e270422fe37396080738ece42391d9ef31440e8",
|
|
73
|
-
block_num: 61841978,
|
|
74
|
-
ref_block_prefix: 2843483375,
|
|
75
|
-
},
|
|
76
|
-
"https://fio.eu.eosamsterdam.net/v1/chain/get_pub_address": (body) => {
|
|
77
|
-
body = JSON.stringify(body);
|
|
78
|
-
switch (body) {
|
|
79
|
-
case '{"fio_address":"highlander@scatter","chain_code":"FIO","token_code":"FIO"}':
|
|
80
|
-
return {
|
|
81
|
-
public_address: "FIO6Lxx7BTA8zbgPuqn4QidNNdTCHisXU7RpxJxLwxAka7NV7SoBW",
|
|
82
|
-
};
|
|
83
|
-
case '{"fio_address":"test@shapeshift","chain_code":"FIO","token_code":"FIO"}':
|
|
84
|
-
return {
|
|
85
|
-
public_address: "FIO6iLE1J4zb2SyDGTH9d6UL9Qm6hhqRce27QvP8AKxVLASGhtm7z",
|
|
86
|
-
};
|
|
87
|
-
default:
|
|
88
|
-
throw new Error(`unrecognized get_pub_address call: ${body}`);
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
"https://fio.eu.eosamsterdam.net/v1/chain/get_raw_abi": (body) => {
|
|
92
|
-
body = JSON.stringify(body);
|
|
93
|
-
switch (body) {
|
|
94
|
-
case '{"account_name":"fio.address"}':
|
|
95
|
-
return {
|
|
96
|
-
account_name: "fio.address",
|
|
97
|
-
code_hash: "183b0410eb9d6071ca741a94da36502eab4d808ac60a6432cae1329ca86c2a64",
|
|
98
|
-
abi_hash: "0dca0ca50be70bb04a84c2494e3eecdf72c083498a3acdbe0ed7ebc4a89d8ad9",
|
|
99
|
-
abi: "DmVvc2lvOjphYmkvMS4wABMHZmlvbmFtZQAJAmlkBnVpbnQ2NARuYW1lBnN0cmluZwhuYW1laGFzaAd1aW50MTI4BmRvbWFpbgZzdHJpbmcKZG9tYWluaGFzaAd1aW50MTI4CmV4cGlyYXRpb24GdWludDY0DW93bmVyX2FjY291bnQEbmFtZQlhZGRyZXNzZXMOdG9rZW5wdWJhZGRyW10XYnVuZGxlZWxpZ2libGVjb3VudGRvd24GdWludDY0BmRvbWFpbgAGAmlkBnVpbnQ2NARuYW1lBnN0cmluZwpkb21haW5oYXNoB3VpbnQxMjgHYWNjb3VudARuYW1lCWlzX3B1YmxpYwV1aW50OApleHBpcmF0aW9uBnVpbnQ2NAplb3Npb19uYW1lAAMHYWNjb3VudARuYW1lCWNsaWVudGtleQZzdHJpbmcHa2V5aGFzaAd1aW50MTI4CnJlZ2FkZHJlc3MABQtmaW9fYWRkcmVzcwZzdHJpbmcUb3duZXJfZmlvX3B1YmxpY19rZXkGc3RyaW5nB21heF9mZWUFaW50NjQFYWN0b3IEbmFtZQR0cGlkBnN0cmluZwx0b2tlbnB1YmFkZHIAAwp0b2tlbl9jb2RlBnN0cmluZwpjaGFpbl9jb2RlBnN0cmluZw5wdWJsaWNfYWRkcmVzcwZzdHJpbmcKYWRkYWRkcmVzcwAFC2Zpb19hZGRyZXNzBnN0cmluZxBwdWJsaWNfYWRkcmVzc2VzDnRva2VucHViYWRkcltdB21heF9mZWUFaW50NjQFYWN0b3IEbmFtZQR0cGlkBnN0cmluZwpyZW1hZGRyZXNzAAULZmlvX2FkZHJlc3MGc3RyaW5nEHB1YmxpY19hZGRyZXNzZXMOdG9rZW5wdWJhZGRyW10HbWF4X2ZlZQVpbnQ2NAVhY3RvcgRuYW1lBHRwaWQGc3RyaW5nCnJlbWFsbGFkZHIABAtmaW9fYWRkcmVzcwZzdHJpbmcHbWF4X2ZlZQVpbnQ2NAVhY3RvcgRuYW1lBHRwaWQGc3RyaW5nCXJlZ2RvbWFpbgAFCmZpb19kb21haW4Gc3RyaW5nFG93bmVyX2Zpb19wdWJsaWNfa2V5BnN0cmluZwdtYXhfZmVlBWludDY0BWFjdG9yBG5hbWUEdHBpZAZzdHJpbmcLcmVuZXdkb21haW4ABApmaW9fZG9tYWluBnN0cmluZwdtYXhfZmVlBWludDY0BHRwaWQGc3RyaW5nBWFjdG9yBG5hbWUMcmVuZXdhZGRyZXNzAAQLZmlvX2FkZHJlc3MGc3RyaW5nB21heF9mZWUFaW50NjQEdHBpZAZzdHJpbmcFYWN0b3IEbmFtZQxzZXRkb21haW5wdWIABQpmaW9fZG9tYWluBnN0cmluZwlpc19wdWJsaWMEaW50OAdtYXhfZmVlBWludDY0BWFjdG9yBG5hbWUEdHBpZAZzdHJpbmcLYnVybmV4cGlyZWQAAAtkZWNyY291bnRlcgACC2Zpb19hZGRyZXNzBnN0cmluZwRzdGVwBWludDMyCmJpbmQyZW9zaW8AAwdhY2NvdW50BG5hbWUKY2xpZW50X2tleQZzdHJpbmcIZXhpc3RpbmcEYm9vbAtidXJuYWRkcmVzcwAEC2Zpb19hZGRyZXNzBnN0cmluZwdtYXhfZmVlBWludDY0BHRwaWQGc3RyaW5nBWFjdG9yBG5hbWUKeGZlcmRvbWFpbgAFCmZpb19kb21haW4Gc3RyaW5nGG5ld19vd25lcl9maW9fcHVibGljX2tleQZzdHJpbmcHbWF4X2ZlZQVpbnQ2NAVhY3RvcgRuYW1lBHRwaWQGc3RyaW5nC3hmZXJhZGRyZXNzAAULZmlvX2FkZHJlc3MGc3RyaW5nGG5ld19vd25lcl9maW9fcHVibGljX2tleQZzdHJpbmcHbWF4X2ZlZQVpbnQ2NAVhY3RvcgRuYW1lBHRwaWQGc3RyaW5nCmFkZGJ1bmRsZXMABQtmaW9fYWRkcmVzcwZzdHJpbmcLYnVuZGxlX3NldHMFaW50NjQHbWF4X2ZlZQVpbnQ2NAR0cGlkBnN0cmluZwVhY3RvcgRuYW1lDwCuylNTdJFKC2RlY3Jjb3VudGVyAAAAxuqmZJi6CnJlZ2FkZHJlc3MAAADG6qZkUjIKYWRkYWRkcmVzcwAAAMbqpmSkugpyZW1hZGRyZXNzAADATcnEaKS6CnJlbWFsbGFkZHIAAACYzkiamLoJcmVnZG9tYWluAACmM5Imrqa6C3JlbmV3ZG9tYWluAICxuikZrqa6DHJlbmV3YWRkcmVzcwAAkrqudjWvPgtidXJuZXhwaXJlZABwdJ3OSJqywgxzZXRkb21haW5wdWIAAAB1mCqRpjsKYmluZDJlb3NpbwAAMFY3JTOvPgtidXJuYWRkcmVzcwAAwHRG0nTV6gp4ZmVyZG9tYWluAAAwVjclc9XqC3hmZXJhZGRyZXNzAAAAVjFNfVIyCmFkZGJ1bmRsZXMAAwAAAFhJM6lbA2k2NAECaWQBBnN0cmluZwdmaW9uYW1lAAAAAE9nJE0DaTY0AQJpZAEGc3RyaW5nBmRvbWFpbgBANTJPTREyA2k2NAEHYWNjb3VudAEGdWludDY0CmVvc2lvX25hbWUAAAAA=",
|
|
100
|
-
};
|
|
101
|
-
case '{"account_name":"fio.fee"}':
|
|
102
|
-
return {
|
|
103
|
-
account_name: "fio.fee",
|
|
104
|
-
code_hash: "564c5023ddd4916517fad8cf0fda502a1a8cd64af32f8a4a4c45b6d6ee60cda4",
|
|
105
|
-
abi_hash: "63370fe617c23b9ffd714cf33ec3e67cfc4695dfcc9830c6aff8dbd9a6b3c56f",
|
|
106
|
-
abi: "DmVvc2lvOjphYmkvMS4wAA4JY3JlYXRlZmVlAAMJZW5kX3BvaW50BnN0cmluZwR0eXBlBWludDY0CnN1Zl9hbW91bnQFaW50NjQIZmVldmFsdWUAAgllbmRfcG9pbnQGc3RyaW5nBXZhbHVlBWludDY0C2ZlZXZhbHVlX3RzAAMJZW5kX3BvaW50BnN0cmluZwV2YWx1ZQVpbnQ2NAl0aW1lc3RhbXAGdWludDY0CnNldGZlZXZvdGUAAwpmZWVfcmF0aW9zCmZlZXZhbHVlW10HbWF4X2ZlZQVpbnQ2NAVhY3RvcgRuYW1lCmJ1bmRsZXZvdGUAAxRidW5kbGVkX3RyYW5zYWN0aW9ucwVpbnQ2NAdtYXhfZmVlBWludDY0BWFjdG9yBG5hbWUKc2V0ZmVlbXVsdAADCm11bHRpcGxpZXIHZmxvYXQ2NAdtYXhfZmVlBWludDY0BWFjdG9yBG5hbWUMbWFuZGF0b3J5ZmVlAAMJZW5kX3BvaW50BnN0cmluZwdhY2NvdW50BG5hbWUHbWF4X2ZlZQVpbnQ2NAtieXRlbWFuZGZlZQAECWVuZF9wb2ludAZzdHJpbmcHYWNjb3VudARuYW1lB21heF9mZWUFaW50NjQIYnl0ZXNpemUFaW50NjQLY29tcHV0ZWZlZXMAAAZmaW9mZWUABgZmZWVfaWQGdWludDY0CWVuZF9wb2ludAZzdHJpbmcOZW5kX3BvaW50X2hhc2gHdWludDEyOAR0eXBlBnVpbnQ2NApzdWZfYW1vdW50BnVpbnQ2NA12b3Rlc19wZW5kaW5nBWJvb2wkCGZlZXZvdGVyAAMTYmxvY2tfcHJvZHVjZXJfbmFtZQRuYW1lDmZlZV9tdWx0aXBsaWVyB2Zsb2F0NjQRbGFzdHZvdGV0aW1lc3RhbXAGdWludDY0B2ZlZXZvdGUABgJpZAZ1aW50NjQTYmxvY2tfcHJvZHVjZXJfbmFtZQRuYW1lCWVuZF9wb2ludAZzdHJpbmcOZW5kX3BvaW50X2hhc2gHdWludDEyOApzdWZfYW1vdW50BnVpbnQ2NBFsYXN0dm90ZXRpbWVzdGFtcAZ1aW50NjQIZmVldm90ZTIABAJpZAZ1aW50NjQTYmxvY2tfcHJvZHVjZXJfbmFtZQRuYW1lCGZlZXZvdGVzDWZlZXZhbHVlX3RzW10RbGFzdHZvdGV0aW1lc3RhbXAGdWludDY0C2J1bmRsZXZvdGVyAAMTYmxvY2tfcHJvZHVjZXJfbmFtZQRuYW1lEmJ1bmRsZWRidm90ZW51bWJlcgZ1aW50NjQRbGFzdHZvdGV0aW1lc3RhbXAGdWludDY0BwAAUGqpbNRFCWNyZWF0ZWZlZQAAgMp0K7WywgpzZXRmZWV2b3RlAACAynSrmKY+CmJ1bmRsZXZvdGUAAECOWiq1ssIKc2V0ZmVlbXVsdACg1PKXZpOmkQxtYW5kYXRvcnlmZWUAAJRaaRqpsj8LYnl0ZW1hbmRmZWUAALBSS2VdJUULY29tcHV0ZWZlZXMABYCvynSrmKY+A2k2NAETYmxvY2tfcHJvZHVjZXJfbmFtZQEGdWludDY0C2J1bmRsZXZvdGVyAAAAACu1qFsDaTY0AQZmZWVfaWQBBnVpbnQ2NAZmaW9mZWUAAMBXZbqVWgNpNjQBE2Jsb2NrX3Byb2R1Y2VyX25hbWUBBnVpbnQ2NAhmZWV2b3RlcgAAAFhlupVaA2k2NAETYmxvY2tfcHJvZHVjZXJfbmFtZQEGdWludDY0B2ZlZXZvdGUAABBYZbqVWgNpNjQBE2Jsb2NrX3Byb2R1Y2VyX25hbWUBBnVpbnQ2NAhmZWV2b3RlMgAAAAA==",
|
|
107
|
-
};
|
|
108
|
-
case '{"account_name":"fio.reqobt"}':
|
|
109
|
-
return {
|
|
110
|
-
account_name: "fio.reqobt",
|
|
111
|
-
code_hash: "cd54f179eb5913984af88cc589ec527396041bd63e2094ffb143c483e2f0c1da",
|
|
112
|
-
abi_hash: "93118de6229f77f4213dc948674c4e11d462f573db821204224a73628b942ffd",
|
|
113
|
-
abi: "DmVvc2lvOjphYmkvMS4wAAoKZmlvcmVxY3R4dAANDmZpb19yZXF1ZXN0X2lkBnVpbnQ2NBFwYXllcl9maW9fYWRkcmVzcwd1aW50MTI4EXBheWVlX2Zpb19hZGRyZXNzB3VpbnQxMjgZcGF5ZXJfZmlvX2FkZHJlc3NfaGV4X3N0cgZzdHJpbmcZcGF5ZWVfZmlvX2FkZHJlc3NfaGV4X3N0cgZzdHJpbmcbcGF5ZXJfZmlvX2FkZHJlc3Nfd2l0aF90aW1lB3VpbnQxMjgbcGF5ZWVfZmlvX2FkZHJlc3Nfd2l0aF90aW1lB3VpbnQxMjgHY29udGVudAZzdHJpbmcKdGltZV9zdGFtcAZ1aW50NjQOcGF5ZXJfZmlvX2FkZHIGc3RyaW5nDnBheWVlX2Zpb19hZGRyBnN0cmluZwlwYXllcl9rZXkGc3RyaW5nCXBheWVlX2tleQZzdHJpbmcOcmVjb3Jkb2J0X2luZm8ADQJpZAZ1aW50NjQRcGF5ZXJfZmlvX2FkZHJlc3MHdWludDEyOBFwYXllZV9maW9fYWRkcmVzcwd1aW50MTI4GXBheWVyX2Zpb19hZGRyZXNzX2hleF9zdHIGc3RyaW5nGXBheWVlX2Zpb19hZGRyZXNzX2hleF9zdHIGc3RyaW5nG3BheWVyX2Zpb19hZGRyZXNzX3dpdGhfdGltZQd1aW50MTI4G3BheWVlX2Zpb19hZGRyZXNzX3dpdGhfdGltZQd1aW50MTI4B2NvbnRlbnQGc3RyaW5nCnRpbWVfc3RhbXAGdWludDY0DnBheWVyX2Zpb19hZGRyBnN0cmluZw5wYXllZV9maW9fYWRkcgZzdHJpbmcJcGF5ZXJfa2V5BnN0cmluZwlwYXllZV9rZXkGc3RyaW5nCWZpb3JlcXN0cwAFAmlkBnVpbnQ2NA5maW9fcmVxdWVzdF9pZAZ1aW50NjQGc3RhdHVzBnVpbnQ2NAhtZXRhZGF0YQZzdHJpbmcKdGltZV9zdGFtcAZ1aW50NjQMZmlvdHJ4dF9pbmZvAA8CaWQGdWludDY0DmZpb19yZXF1ZXN0X2lkBnVpbnQ2NBJwYXllcl9maW9fYWRkcl9oZXgHdWludDEyOBJwYXllZV9maW9fYWRkcl9oZXgHdWludDEyOA1maW9fZGF0YV90eXBlBXVpbnQ4CHJlcV90aW1lBnVpbnQ2NA5wYXllcl9maW9fYWRkcgZzdHJpbmcOcGF5ZWVfZmlvX2FkZHIGc3RyaW5nCXBheWVyX2tleQZzdHJpbmcJcGF5ZWVfa2V5BnN0cmluZw1wYXllcl9hY2NvdW50BG5hbWUNcGF5ZWVfYWNjb3VudARuYW1lC3JlcV9jb250ZW50BnN0cmluZwtvYnRfY29udGVudAZzdHJpbmcIb2J0X3RpbWUGdWludDY0Cm1pZ3JsZWRnZXIABwJpZAZ1aW50NjQIYmVnaW5vYnQFaW50NjQKY3VycmVudG9idAVpbnQ2NAdiZWdpbnJxBWludDY0CWN1cnJlbnRycQVpbnQ2NApjdXJyZW50c3RhBWludDY0CmlzRmluaXNoZWQEaW50OAdtaWdydHJ4AAIGYW1vdW50BWludDE2BWFjdG9yBnN0cmluZwlyZWNvcmRvYnQABw5maW9fcmVxdWVzdF9pZAZzdHJpbmcRcGF5ZXJfZmlvX2FkZHJlc3MGc3RyaW5nEXBheWVlX2Zpb19hZGRyZXNzBnN0cmluZwdjb250ZW50BnN0cmluZwdtYXhfZmVlBWludDY0BWFjdG9yBnN0cmluZwR0cGlkBnN0cmluZwtuZXdmdW5kc3JlcQAGEXBheWVyX2Zpb19hZGRyZXNzBnN0cmluZxFwYXllZV9maW9fYWRkcmVzcwZzdHJpbmcHY29udGVudAZzdHJpbmcHbWF4X2ZlZQVpbnQ2NAVhY3RvcgZzdHJpbmcEdHBpZAZzdHJpbmcMcmVqZWN0Zm5kcmVxAAQOZmlvX3JlcXVlc3RfaWQGc3RyaW5nB21heF9mZWUFaW50NjQFYWN0b3IGc3RyaW5nBHRwaWQGc3RyaW5nDGNhbmNlbGZuZHJlcQAEDmZpb19yZXF1ZXN0X2lkBnN0cmluZwdtYXhfZmVlBWludDY0BWFjdG9yBnN0cmluZwR0cGlkBnN0cmluZwUAAACg33yZkwdtaWdydHJ4AAAAyIemS5G6CXJlY29yZG9idAAArLo4Tb24mgtuZXdmdW5kc3JlcQBg1U1zZaSeugxyZWplY3RmbmRyZXEAYNVNc0WFpkEMY2FuY2VsZm5kcmVxAAUAcO4ZWXWpWwNpNjQBDmZpb19yZXF1ZXN0X2lkAQZ1aW50NjQKZmlvcmVxY3R4dAAAzoemS5G6A2k2NAECaWQBBnVpbnQ2NA5yZWNvcmRvYnRfaW5mbwAAxhlbdalbA2k2NAECaWQBBnVpbnQ2NAlmaW9yZXFzdHMAAMA495upWwNpNjQBAmlkAQZ1aW50NjQMZmlvdHJ4dF9pbmZvAPBVLKl4mZMDaTY0AQJpZAEGdWludDY0Cm1pZ3JsZWRnZXIAAAAA=",
|
|
114
|
-
};
|
|
115
|
-
case '{"account_name":"fio.token"}':
|
|
116
|
-
return {
|
|
117
|
-
account_name: "fio.token",
|
|
118
|
-
code_hash: "f20c3d91844682c1ac035fee1509f1c91a934122e372ac6df45594bb3f3f171e",
|
|
119
|
-
abi_hash: "b368fbc363f0da588eea9c943b75caadffb881dcb4dc4f283bfee7a86c97850f",
|
|
120
|
-
abi: "DmVvc2lvOjphYmkvMS4xAAoHYWNjb3VudAABB2JhbGFuY2UFYXNzZXQGY3JlYXRlAAEObWF4aW11bV9zdXBwbHkFYXNzZXQOY3VycmVuY3lfc3RhdHMAAwZzdXBwbHkFYXNzZXQKbWF4X3N1cHBseQVhc3NldAZpc3N1ZXIEbmFtZQVpc3N1ZQADAnRvBG5hbWUIcXVhbnRpdHkFYXNzZXQEbWVtbwZzdHJpbmcLbG9ja3BlcmlvZHMAAghkdXJhdGlvbgVpbnQ2NAdwZXJjZW50B2Zsb2F0NjQHbWludGZpbwACAnRvBG5hbWUGYW1vdW50BnVpbnQ2NAZyZXRpcmUAAghxdWFudGl0eQVhc3NldARtZW1vBnN0cmluZwh0cmFuc2ZlcgAEBGZyb20EbmFtZQJ0bwRuYW1lCHF1YW50aXR5BWFzc2V0BG1lbW8Gc3RyaW5nDHRybnNmaW9wdWJreQAFEHBheWVlX3B1YmxpY19rZXkGc3RyaW5nBmFtb3VudAVpbnQ2NAdtYXhfZmVlBWludDY0BWFjdG9yBG5hbWUEdHBpZAZzdHJpbmcLdHJuc2xvY3Rva3MABxBwYXllZV9wdWJsaWNfa2V5BnN0cmluZwhjYW5fdm90ZQVpbnQzMgdwZXJpb2RzDWxvY2twZXJpb2RzW10GYW1vdW50BWludDY0B21heF9mZWUFaW50NjQFYWN0b3IEbmFtZQR0cGlkBnN0cmluZwcAAAAAqGzURQZjcmVhdGUAAAAAAAClMXYFaXNzdWUAAAAAgLqVp5MHbWludGZpbwAAAAAAqOuyugZyZXRpcmUAAAAAVy08zc0IdHJhbnNmZXIA4OHRlbqF580MdHJuc2Zpb3B1Ymt5AAAwpBnRiOfNC3RybnNsb2N0b2tzAAIAAAA4T00RMgNpNjQAAAdhY2NvdW50AAAAAACQTcYDaTY0AAAOY3VycmVuY3lfc3RhdHMAAAAA=",
|
|
121
|
-
};
|
|
122
|
-
case '{"account_name":"eosio"}':
|
|
123
|
-
return {
|
|
124
|
-
account_name: "eosio",
|
|
125
|
-
code_hash: "bf2cf9c963c483263e279d1a2f3f968a65a5c6db86af99bb9e5d7a2d2840cc12",
|
|
126
|
-
abi_hash: "ead7a5cf52addda442d99acf5a35494f235330392b02c4ced3d4a09dd5a7602d",
|
|
127
|
-
abi: "DmVvc2lvOjphYmkvMS4xADcIYWJpX2hhc2gAAgVvd25lcgRuYW1lBGhhc2gLY2hlY2tzdW0yNTYJYWRkYWN0aW9uAAMGYWN0aW9uBG5hbWUIY29udHJhY3QGc3RyaW5nBWFjdG9yBG5hbWUMYWRkZ2VubG9ja2VkAAQFb3duZXIEbmFtZQdwZXJpb2RzDWxvY2twZXJpb2RzW10HY2Fudm90ZQRib29sBmFtb3VudAVpbnQ2NAlhZGRsb2NrZWQAAwVvd25lcgRuYW1lBmFtb3VudAVpbnQ2NAhsb2NrdHlwZQVpbnQxNglhdXRob3JpdHkABAl0aHJlc2hvbGQGdWludDMyBGtleXMMa2V5X3dlaWdodFtdCGFjY291bnRzGXBlcm1pc3Npb25fbGV2ZWxfd2VpZ2h0W10Fd2FpdHMNd2FpdF93ZWlnaHRbXQxibG9ja19oZWFkZXIACAl0aW1lc3RhbXAGdWludDMyCHByb2R1Y2VyBG5hbWUJY29uZmlybWVkBnVpbnQxNghwcmV2aW91cwtjaGVja3N1bTI1NhF0cmFuc2FjdGlvbl9tcm9vdAtjaGVja3N1bTI1NgxhY3Rpb25fbXJvb3QLY2hlY2tzdW0yNTYQc2NoZWR1bGVfdmVyc2lvbgZ1aW50MzINbmV3X3Byb2R1Y2VycxJwcm9kdWNlcl9zY2hlZHVsZT8VYmxvY2tjaGFpbl9wYXJhbWV0ZXJzABETbWF4X2Jsb2NrX25ldF91c2FnZQZ1aW50NjQadGFyZ2V0X2Jsb2NrX25ldF91c2FnZV9wY3QGdWludDMyGW1heF90cmFuc2FjdGlvbl9uZXRfdXNhZ2UGdWludDMyHmJhc2VfcGVyX3RyYW5zYWN0aW9uX25ldF91c2FnZQZ1aW50MzIQbmV0X3VzYWdlX2xlZXdheQZ1aW50MzIjY29udGV4dF9mcmVlX2Rpc2NvdW50X25ldF91c2FnZV9udW0GdWludDMyI2NvbnRleHRfZnJlZV9kaXNjb3VudF9uZXRfdXNhZ2VfZGVuBnVpbnQzMhNtYXhfYmxvY2tfY3B1X3VzYWdlBnVpbnQzMhp0YXJnZXRfYmxvY2tfY3B1X3VzYWdlX3BjdAZ1aW50MzIZbWF4X3RyYW5zYWN0aW9uX2NwdV91c2FnZQZ1aW50MzIZbWluX3RyYW5zYWN0aW9uX2NwdV91c2FnZQZ1aW50MzIYbWF4X3RyYW5zYWN0aW9uX2xpZmV0aW1lBnVpbnQzMh5kZWZlcnJlZF90cnhfZXhwaXJhdGlvbl93aW5kb3cGdWludDMyFW1heF90cmFuc2FjdGlvbl9kZWxheQZ1aW50MzIWbWF4X2lubGluZV9hY3Rpb25fc2l6ZQZ1aW50MzIXbWF4X2lubGluZV9hY3Rpb25fZGVwdGgGdWludDE2E21heF9hdXRob3JpdHlfZGVwdGgGdWludDE2CmJ1cm5hY3Rpb24AAQtmaW9hZGRyaGFzaAd1aW50MTI4C2NhbmNlbGRlbGF5AAIOY2FuY2VsaW5nX2F1dGgQcGVybWlzc2lvbl9sZXZlbAZ0cnhfaWQLY2hlY2tzdW0yNTYLY3JhdXRvcHJveHkAAgVwcm94eQRuYW1lBW93bmVyBG5hbWUKZGVsZXRlYXV0aAADB2FjY291bnQEbmFtZQpwZXJtaXNzaW9uBG5hbWUHbWF4X2ZlZQZ1aW50NjQSZW9zaW9fZ2xvYmFsX3N0YXRlFWJsb2NrY2hhaW5fcGFyYW1ldGVycwsdbGFzdF9wcm9kdWNlcl9zY2hlZHVsZV91cGRhdGUUYmxvY2tfdGltZXN0YW1wX3R5cGUYbGFzdF9wZXJ2b3RlX2J1Y2tldF9maWxsCnRpbWVfcG9pbnQOcGVydm90ZV9idWNrZXQFaW50NjQPcGVyYmxvY2tfYnVja2V0BWludDY0E3RvdGFsX3VucGFpZF9ibG9ja3MGdWludDMyD3RvdGFsX3ZvdGVkX2ZpbwVpbnQ2NBV0aHJlc2hfdm90ZWRfZmlvX3RpbWUKdGltZV9wb2ludBtsYXN0X3Byb2R1Y2VyX3NjaGVkdWxlX3NpemUGdWludDE2GnRvdGFsX3Byb2R1Y2VyX3ZvdGVfd2VpZ2h0B2Zsb2F0NjQPbGFzdF9uYW1lX2Nsb3NlFGJsb2NrX3RpbWVzdGFtcF90eXBlD2xhc3RfZmVlX3VwZGF0ZRRibG9ja190aW1lc3RhbXBfdHlwZRNlb3Npb19nbG9iYWxfc3RhdGUyAAMObGFzdF9ibG9ja19udW0UYmxvY2tfdGltZXN0YW1wX3R5cGUcdG90YWxfcHJvZHVjZXJfdm90ZXBheV9zaGFyZQdmbG9hdDY0CHJldmlzaW9uBXVpbnQ4E2Vvc2lvX2dsb2JhbF9zdGF0ZTMAAhZsYXN0X3ZwYXlfc3RhdGVfdXBkYXRlCnRpbWVfcG9pbnQcdG90YWxfdnBheV9zaGFyZV9jaGFuZ2VfcmF0ZQdmbG9hdDY0BmluY3JhbQACCWFjY291bnRtbgRuYW1lBmFtb3VudAVpbnQ2NAxpbmhpYml0dW5sY2sAAgVvd25lcgRuYW1lBXZhbHVlBnVpbnQzMgRpbml0AAIHdmVyc2lvbgl2YXJ1aW50MzIEY29yZQZzeW1ib2wKa2V5X3dlaWdodAACA2tleQpwdWJsaWNfa2V5BndlaWdodAZ1aW50MTYIbGlua2F1dGgABQdhY2NvdW50BG5hbWUEY29kZQRuYW1lBHR5cGUEbmFtZQtyZXF1aXJlbWVudARuYW1lB21heF9mZWUGdWludDY0GGxvY2tlZF90b2tlbl9ob2xkZXJfaW5mbwAHBW93bmVyBG5hbWUSdG90YWxfZ3JhbnRfYW1vdW50BnVpbnQ2NBV1bmxvY2tlZF9wZXJpb2RfY291bnQGdWludDMyCmdyYW50X3R5cGUGdWludDMyEWluaGliaXRfdW5sb2NraW5nBnVpbnQzMhdyZW1haW5pbmdfbG9ja2VkX2Ftb3VudAZ1aW50NjQJdGltZXN0YW1wBnVpbnQzMhJsb2NrZWRfdG9rZW5zX2luZm8ACAJpZAVpbnQ2NA1vd25lcl9hY2NvdW50BG5hbWULbG9ja19hbW91bnQFaW50NjQRcGF5b3V0c19wZXJmb3JtZWQFaW50MzIIY2FuX3ZvdGUFaW50MzIHcGVyaW9kcw1sb2NrcGVyaW9kc1tdFXJlbWFpbmluZ19sb2NrX2Ftb3VudAVpbnQ2NAl0aW1lc3RhbXAGdWludDMyC2xvY2twZXJpb2RzAAIIZHVyYXRpb24FaW50NjQHcGVyY2VudAdmbG9hdDY0Cm5ld2FjY291bnQABAdjcmVhdG9yBG5hbWUEbmFtZQRuYW1lBW93bmVyCWF1dGhvcml0eQZhY3RpdmUJYXV0aG9yaXR5B29uYmxvY2sAAQZoZWFkZXIMYmxvY2tfaGVhZGVyB29uZXJyb3IAAglzZW5kZXJfaWQHdWludDEyOAhzZW50X3RyeAVieXRlcxBwZXJtaXNzaW9uX2xldmVsAAIFYWN0b3IEbmFtZQpwZXJtaXNzaW9uBG5hbWUXcGVybWlzc2lvbl9sZXZlbF93ZWlnaHQAAgpwZXJtaXNzaW9uEHBlcm1pc3Npb25fbGV2ZWwGd2VpZ2h0BnVpbnQxNg1wcm9kdWNlcl9pbmZvAAwCaWQGdWludDY0BW93bmVyBG5hbWULZmlvX2FkZHJlc3MGc3RyaW5nC2FkZHJlc3NoYXNoB3VpbnQxMjgLdG90YWxfdm90ZXMHZmxvYXQ2NBNwcm9kdWNlcl9wdWJsaWNfa2V5CnB1YmxpY19rZXkJaXNfYWN0aXZlBGJvb2wDdXJsBnN0cmluZw11bnBhaWRfYmxvY2tzBnVpbnQzMg9sYXN0X2NsYWltX3RpbWUKdGltZV9wb2ludAxsYXN0X2JwY2xhaW0GdWludDMyCGxvY2F0aW9uBnVpbnQxNgxwcm9kdWNlcl9rZXkAAg1wcm9kdWNlcl9uYW1lBG5hbWURYmxvY2tfc2lnbmluZ19rZXkKcHVibGljX2tleRFwcm9kdWNlcl9zY2hlZHVsZQACB3ZlcnNpb24GdWludDMyCXByb2R1Y2Vycw5wcm9kdWNlcl9rZXlbXQtyZWdwcm9kdWNlcgAGC2Zpb19hZGRyZXNzBnN0cmluZwtmaW9fcHViX2tleQZzdHJpbmcDdXJsBnN0cmluZwhsb2NhdGlvbgZ1aW50MTYFYWN0b3IEbmFtZQdtYXhfZmVlBWludDY0CHJlZ3Byb3h5AAMLZmlvX2FkZHJlc3MGc3RyaW5nBWFjdG9yBG5hbWUHbWF4X2ZlZQVpbnQ2NAlyZW1hY3Rpb24AAgZhY3Rpb24EbmFtZQVhY3RvcgRuYW1lCnJlc2V0Y2xhaW0AAQhwcm9kdWNlcgRuYW1lC3JtdnByb2R1Y2VyAAEIcHJvZHVjZXIEbmFtZQZzZXRhYmkAAgdhY2NvdW50BG5hbWUDYWJpBWJ5dGVzDHNldGF1dG9wcm94eQACBXByb3h5BG5hbWUFb3duZXIEbmFtZQdzZXRjb2RlAAQHYWNjb3VudARuYW1lBnZtdHlwZQV1aW50OAl2bXZlcnNpb24FdWludDgEY29kZQVieXRlcwlzZXRwYXJhbXMAAQZwYXJhbXMVYmxvY2tjaGFpbl9wYXJhbWV0ZXJzB3NldHByaXYAAgdhY2NvdW50BG5hbWUHaXNfcHJpdgV1aW50OA10b3BfcHJvZF9pbmZvAAEIcHJvZHVjZXIEbmFtZQp1bmxpbmthdXRoAAMHYWNjb3VudARuYW1lBGNvZGUEbmFtZQR0eXBlBG5hbWUMdW5sb2NrdG9rZW5zAAEFYWN0b3IEbmFtZQl1bnJlZ3Byb2QAAwtmaW9fYWRkcmVzcwZzdHJpbmcFYWN0b3IEbmFtZQdtYXhfZmVlBWludDY0CnVucmVncHJveHkAAwtmaW9fYWRkcmVzcwZzdHJpbmcFYWN0b3IEbmFtZQdtYXhfZmVlBWludDY0CnVwZGF0ZWF1dGgABQdhY2NvdW50BG5hbWUKcGVybWlzc2lvbgRuYW1lBnBhcmVudARuYW1lBGF1dGgJYXV0aG9yaXR5B21heF9mZWUGdWludDY0C3VwZGF0ZXBvd2VyAAIFdm90ZXIEbmFtZQp1cGRhdGVvbmx5BGJvb2wLdXBkbGJwY2xhaW0AAQhwcm9kdWNlcgRuYW1lCXVwZGxvY2tlZAACBW93bmVyBG5hbWUPYW1vdW50cmVtYWluaW5nBnVpbnQ2NAx1cGR0cmV2aXNpb24AAQhyZXZpc2lvbgV1aW50OA51c2VyX3Jlc291cmNlcwAEBW93bmVyBG5hbWUKbmV0X3dlaWdodAVhc3NldApjcHVfd2VpZ2h0BWFzc2V0CXJhbV9ieXRlcwVpbnQ2NAx2b3RlcHJvZHVjZXIABAlwcm9kdWNlcnMIc3RyaW5nW10LZmlvX2FkZHJlc3MGc3RyaW5nBWFjdG9yBG5hbWUHbWF4X2ZlZQVpbnQ2NAl2b3RlcHJveHkABAVwcm94eQZzdHJpbmcLZmlvX2FkZHJlc3MGc3RyaW5nBWFjdG9yBG5hbWUHbWF4X2ZlZQVpbnQ2NAp2b3Rlcl9pbmZvAAwCaWQGdWludDY0CmZpb2FkZHJlc3MGc3RyaW5nC2FkZHJlc3NoYXNoB3VpbnQxMjgFb3duZXIEbmFtZQVwcm94eQRuYW1lCXByb2R1Y2VycwZuYW1lW10QbGFzdF92b3RlX3dlaWdodAdmbG9hdDY0E3Byb3hpZWRfdm90ZV93ZWlnaHQHZmxvYXQ2NAhpc19wcm94eQRib29sDWlzX2F1dG9fcHJveHkEYm9vbAlyZXNlcnZlZDIGdWludDMyCXJlc2VydmVkMwVhc3NldAt3YWl0X3dlaWdodAACCHdhaXRfc2VjBnVpbnQzMgZ3ZWlnaHQGdWludDE2IwAAmNRlZFIyCWFkZGFjdGlvbgCQFEQ0TsVSMgxhZGRnZW5sb2NrZWQAAABICiIaUzIJYWRkbG9ja2VkAADApC4jM68+CmJ1cm5hY3Rpb24AALyJKkWFpkELY2FuY2VsZGVsYXkAAHynt9KszUULY3JhdXRvcHJveHkAAEDL2qisokoKZGVsZXRlYXV0aAAAAAAASHPRdAZpbmNyYW0AAFGcOrvj2nQMaW5oaWJpdHVubGNrAAAAAAAAkN10BGluaXQAAAAALWsDp4sIbGlua2F1dGgAAECemiJkuJoKbmV3YWNjb3VudAAAAAAAIhrPpAdvbmJsb2NrAAAAAODSe9WkB29uZXJyb3IAAK5COtFbmboLcmVncHJvZHVjZXIAAAAAvtNbmboIcmVncHJveHkAAACY1GVkpLoJcmVtYWN0aW9uAACAdCairLC6CnJlc2V0Y2xhaW0AAK5COtFbt7wLcm12cHJvZHVjZXIAAAAAALhjssIGc2V0YWJpAOA7vZVmbbLCDHNldGF1dG9wcm94eQAAAABAJYqywgdzZXRjb2RlAAAAwNJcU7PCCXNldHBhcmFtcwAAAABgu1uzwgdzZXRwcml2AABAy9rA6eLUCnVubGlua2F1dGgAgKeCNENE49QMdW5sb2NrdG9rZW5zAAAASPRWpu7UCXVucmVncHJvZAAAgO/0Vqbu1Ap1bnJlZ3Byb3h5AABAy9qobFLVCnVwZGF0ZWF1dGgAAK7itKpsUtULdXBkYXRlcG93ZXIAAKQzEdUTU9ULdXBkbGJwY2xhaW0AAABICiIaU9UJdXBkbG9ja2VkADCpw26rm1PVDHVwZHRyZXZpc2lvbgBwFdKJ3qoy3Qx2b3RlcHJvZHVjZXIAAADwnd6qMt0Jdm90ZXByb3h5AAoAAACgYdPcMQNpNjQAAAhhYmlfaGFzaAAAAABEc2hkA2k2NAAAEmVvc2lvX2dsb2JhbF9zdGF0ZQAAAEBEc2hkA2k2NAAAE2Vvc2lvX2dsb2JhbF9zdGF0ZTIAAABgRHNoZANpNjQAABNlb3Npb19nbG9iYWxfc3RhdGUzgKeCNCcFEY0DaTY0AAAYbG9ja2VkX3Rva2VuX2hvbGRlcl9pbmZvAACeCtIMEY0DaTY0AAASbG9ja2VkX3Rva2Vuc19pbmZvAADAVyGd6K0DaTY0AAANcHJvZHVjZXJfaW5mbwAAADjRWyvNA2k2NAAADXRvcF9wcm9kX2luZm8AAAAAq3sV1gNpNjQAAA51c2VyX3Jlc291cmNlcwAAAADgqzLdA2k2NAAACnZvdGVyX2luZm8AAAAA=",
|
|
128
|
-
};
|
|
129
|
-
case '{"account_name":"eosio.msig"}':
|
|
130
|
-
return {
|
|
131
|
-
account_name: "eosio.msig",
|
|
132
|
-
code_hash: "f9eaecc20eeea9705e5e5a81777244281a4770e8ff8b377d76d032ad3163ca81",
|
|
133
|
-
abi_hash: "a72cfc8faf3a10267d6b842f47b7d983889831b956b2c41e09f7044e338876de",
|
|
134
|
-
abi: "DmVvc2lvOjphYmkvMS4xABAGYWN0aW9uAAQHYWNjb3VudARuYW1lBG5hbWUEbmFtZQ1hdXRob3JpemF0aW9uEnBlcm1pc3Npb25fbGV2ZWxbXQRkYXRhBWJ5dGVzCGFwcHJvdmFsAAIFbGV2ZWwQcGVybWlzc2lvbl9sZXZlbAR0aW1lCnRpbWVfcG9pbnQOYXBwcm92YWxzX2luZm8ABAd2ZXJzaW9uBXVpbnQ4DXByb3Bvc2FsX25hbWUEbmFtZRNyZXF1ZXN0ZWRfYXBwcm92YWxzCmFwcHJvdmFsW10ScHJvdmlkZWRfYXBwcm92YWxzCmFwcHJvdmFsW10HYXBwcm92ZQAFCHByb3Bvc2VyBG5hbWUNcHJvcG9zYWxfbmFtZQRuYW1lBWxldmVsEHBlcm1pc3Npb25fbGV2ZWwHbWF4X2ZlZQZ1aW50NjQNcHJvcG9zYWxfaGFzaAxjaGVja3N1bTI1NiQGY2FuY2VsAAQIcHJvcG9zZXIEbmFtZQ1wcm9wb3NhbF9uYW1lBG5hbWUIY2FuY2VsZXIEbmFtZQdtYXhfZmVlBnVpbnQ2NARleGVjAAQIcHJvcG9zZXIEbmFtZQ1wcm9wb3NhbF9uYW1lBG5hbWUHbWF4X2ZlZQZ1aW50NjQIZXhlY3V0ZXIEbmFtZQlleHRlbnNpb24AAgR0eXBlBnVpbnQxNgRkYXRhBWJ5dGVzCmludmFsaWRhdGUAAgdhY2NvdW50BG5hbWUHbWF4X2ZlZQZ1aW50NjQMaW52YWxpZGF0aW9uAAIHYWNjb3VudARuYW1lFmxhc3RfaW52YWxpZGF0aW9uX3RpbWUKdGltZV9wb2ludBJvbGRfYXBwcm92YWxzX2luZm8AAw1wcm9wb3NhbF9uYW1lBG5hbWUTcmVxdWVzdGVkX2FwcHJvdmFscxJwZXJtaXNzaW9uX2xldmVsW10ScHJvdmlkZWRfYXBwcm92YWxzEnBlcm1pc3Npb25fbGV2ZWxbXRBwZXJtaXNzaW9uX2xldmVsAAIFYWN0b3IEbmFtZQpwZXJtaXNzaW9uBG5hbWUIcHJvcG9zYWwAAg1wcm9wb3NhbF9uYW1lBG5hbWUScGFja2VkX3RyYW5zYWN0aW9uBWJ5dGVzB3Byb3Bvc2UABQhwcm9wb3NlcgRuYW1lDXByb3Bvc2FsX25hbWUEbmFtZQlyZXF1ZXN0ZWQScGVybWlzc2lvbl9sZXZlbFtdB21heF9mZWUGdWludDY0A3RyeAt0cmFuc2FjdGlvbgt0cmFuc2FjdGlvbhJ0cmFuc2FjdGlvbl9oZWFkZXIDFGNvbnRleHRfZnJlZV9hY3Rpb25zCGFjdGlvbltdB2FjdGlvbnMIYWN0aW9uW10WdHJhbnNhY3Rpb25fZXh0ZW5zaW9ucwtleHRlbnNpb25bXRJ0cmFuc2FjdGlvbl9oZWFkZXIABgpleHBpcmF0aW9uDnRpbWVfcG9pbnRfc2VjDXJlZl9ibG9ja19udW0GdWludDE2EHJlZl9ibG9ja19wcmVmaXgGdWludDMyE21heF9uZXRfdXNhZ2Vfd29yZHMJdmFydWludDMyEG1heF9jcHVfdXNhZ2VfbXMFdWludDgJZGVsYXlfc2VjCXZhcnVpbnQzMgl1bmFwcHJvdmUABAhwcm9wb3NlcgRuYW1lDXByb3Bvc2FsX25hbWUEbmFtZQVsZXZlbBBwZXJtaXNzaW9uX2xldmVsB21heF9mZWUGdWludDY0BgAAAEBtems1B2FwcHJvdmUAAAAAAESFpkEGY2FuY2VsAAAAAAAAgFRXBGV4ZWMAAIDKJrlo9nQKaW52YWxpZGF0ZQAAAABAYVrprQdwcm9wb3NlAAAAUJveWs3UCXVuYXBwcm92ZQAEAADA0Wx6azUDaTY0AAASb2xkX2FwcHJvdmFsc19pbmZvAIDA0Wx6azUDaTY0AAAOYXBwcm92YWxzX2luZm8AAAAA4Gj2dANpNjQAAAxpbnZhbGlkYXRpb24AAADRYFrprQNpNjQAAAhwcm9wb3NhbAAAAAA==",
|
|
135
|
-
};
|
|
136
|
-
default:
|
|
137
|
-
throw new Error(`unrecognized get_raw_abi call: ${body}`);
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
}).startServer();
|
|
142
|
-
afterEach(() => expect(mswMock).not.toHaveBeenCalled());
|
|
143
|
-
const untouchable = require("untouchableMock");
|
|
144
|
-
describe("NativeFioWalletInfo", () => {
|
|
145
|
-
const info = native.info();
|
|
146
|
-
it("should return some static metadata", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
147
|
-
expect(yield untouchable.call(info, "fioSupportsNetwork")).toBe(true);
|
|
148
|
-
expect(yield untouchable.call(info, "fioSupportsSecureTransfer")).toBe(false);
|
|
149
|
-
expect(untouchable.call(info, "fioSupportsNativeShapeShift")).toBe(false);
|
|
150
|
-
}));
|
|
151
|
-
it("should return the correct account paths", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
152
|
-
const paths = info.fioGetAccountPaths({ accountIdx: 0 });
|
|
153
|
-
expect(paths).toMatchObject([{ addressNList: core.bip32ToAddressNList("m/44'/235'/0'/0/0") }]);
|
|
154
|
-
}));
|
|
155
|
-
it("does not support getting the next account path", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
156
|
-
expect(untouchable.call(info, "fioNextAccountPath", {})).toBe(undefined);
|
|
157
|
-
}));
|
|
158
|
-
});
|
|
159
|
-
describe("NativeFioWallet", () => {
|
|
160
|
-
let wallet;
|
|
161
|
-
beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
162
|
-
wallet = native.create({ deviceId: "native" });
|
|
163
|
-
yield wallet.loadDevice({ mnemonic: MNEMONIC });
|
|
164
|
-
expect(yield wallet.initialize()).toBe(true);
|
|
165
|
-
}));
|
|
166
|
-
describe("stuff that uses the network", () => {
|
|
167
|
-
afterEach(() => {
|
|
168
|
-
expect(mswMock.handlers.post["https://fio.eu.eosamsterdam.net/v1/chain/get_raw_abi"]).toHaveBeenCalledWith({
|
|
169
|
-
account_name: "fio.address",
|
|
170
|
-
});
|
|
171
|
-
expect(mswMock.handlers.post["https://fio.eu.eosamsterdam.net/v1/chain/get_raw_abi"]).toHaveBeenCalledWith({
|
|
172
|
-
account_name: "fio.reqobt",
|
|
173
|
-
});
|
|
174
|
-
expect(mswMock.handlers.post["https://fio.eu.eosamsterdam.net/v1/chain/get_raw_abi"]).toHaveBeenCalledWith({
|
|
175
|
-
account_name: "fio.token",
|
|
176
|
-
});
|
|
177
|
-
expect(mswMock.handlers.post["https://fio.eu.eosamsterdam.net/v1/chain/get_raw_abi"]).toHaveBeenCalledWith({
|
|
178
|
-
account_name: "eosio",
|
|
179
|
-
});
|
|
180
|
-
mswMock.clear();
|
|
181
|
-
});
|
|
182
|
-
it("should generate a correct FIO address", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
183
|
-
const address = yield wallet.fioGetAddress({ addressNList: core.bip32ToAddressNList("m/44'/235'/0'/0/0") });
|
|
184
|
-
expect(address).toBe("FIO5NSKecB4CcMpUxtpHzG4u43SmcGMAjRbxyG38rE4HPegGpaHu9");
|
|
185
|
-
}));
|
|
186
|
-
it("should generate another correct FIO address", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
187
|
-
const address = yield wallet.fioGetAddress({ addressNList: core.bip32ToAddressNList("m/44'/235'/1337'/123/4") });
|
|
188
|
-
expect(address).toBe("FIO8Pok1EBMsZWphhfUj2m3MXrxBZJq7erqyi7E1teAfZE18HyjK5");
|
|
189
|
-
}));
|
|
190
|
-
it("should generate a third correct FIO address", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
191
|
-
const address = yield wallet.fioGetAddress({ addressNList: core.bip32ToAddressNList("m/44'/235'/1'/0/0") });
|
|
192
|
-
expect(address).toMatchInlineSnapshot(`"FIO8HiUzsRDYo69AEmUk39f7h7nawTjn9msbX6oUY5wrX6ERCh3rA"`);
|
|
193
|
-
}));
|
|
194
|
-
it("should expose the FIO SDK", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
195
|
-
expect(yield wallet.getFioSdk(core.bip32ToAddressNList("m/44'/235'/0'/0/0"))).toBeInstanceOf(fio.FIOSDK);
|
|
196
|
-
}));
|
|
197
|
-
it("should sign a message", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
198
|
-
const sig = yield wallet.fioSignTx({
|
|
199
|
-
addressNList: core.bip32ToAddressNList("m/44'/235'/0'/0/0"),
|
|
200
|
-
actions: [
|
|
201
|
-
{
|
|
202
|
-
account: "fio.address",
|
|
203
|
-
name: "addaddress",
|
|
204
|
-
data: {
|
|
205
|
-
fio_address: "FIO5NSKecB4CcMpUxtpHzG4u43SmcGMAjRbxyG38rE4HPegGpaHu9",
|
|
206
|
-
public_addresses: [
|
|
207
|
-
{
|
|
208
|
-
chain_code: "foo",
|
|
209
|
-
token_code: "bar",
|
|
210
|
-
public_address: "baz",
|
|
211
|
-
},
|
|
212
|
-
],
|
|
213
|
-
max_fee: 0,
|
|
214
|
-
tpid: "FIO5NSKecB4CcMpUxtpHzG4u43SmcGMAjRbxyG38rE4HPegGpaHu9",
|
|
215
|
-
},
|
|
216
|
-
},
|
|
217
|
-
],
|
|
218
|
-
});
|
|
219
|
-
// This is the output of the native library's own signing function.
|
|
220
|
-
/*expect(sig).toMatchInlineSnapshot(`
|
|
221
|
-
Object {
|
|
222
|
-
"serialized": "ee9952603aa2ef1c7ca90000000001003056372503a85b0000c6eaa66452320180f2f085077460fd00000000a8ed323289013546494f354e534b6563423443634d7055787470487a4734753433536d63474d416a5262787947333872453448506567477061487539010362617203666f6f0362617a000000000000000080f2f085077460fd3546494f354e534b6563423443634d7055787470487a4734753433536d63474d416a526278794733387245344850656747706148753900",
|
|
223
|
-
"signature": "SIG_K1_JxgRLcqJHYjaqAhwHpsi8iGGkYVZRKMGT46xozonn2YwBF6vv3Jg7UZ95PsFKh9BFpHNTwhcLHhzyzhxdvw47zF12REeM2",
|
|
224
|
-
}
|
|
225
|
-
`);*/
|
|
226
|
-
// This is the output from tiny-secp256k1.
|
|
227
|
-
expect(sig).toMatchInlineSnapshot(`
|
|
228
|
-
Object {
|
|
229
|
-
"serialized": "ee9952603aa2ef1c7ca90000000001003056372503a85b0000c6eaa66452320180f2f085077460fd00000000a8ed323289013546494f354e534b6563423443634d7055787470487a4734753433536d63474d416a5262787947333872453448506567477061487539010362617203666f6f0362617a000000000000000080f2f085077460fd3546494f354e534b6563423443634d7055787470487a4734753433536d63474d416a526278794733387245344850656747706148753900",
|
|
230
|
-
"signature": "SIG_K1_Kg5nEAYFbbTZGqKfsvAt1Jx4KwuRzmUiLRybv4tyJeHWwM17ch1SSW88rVcAv7m1V5EjqgCTbxLKCXUcqDofc1kqp3psmg",
|
|
231
|
-
}
|
|
232
|
-
`);
|
|
233
|
-
expect(mswMock).toHaveBeenCalledWith("GET", "https://fio.eu.eosamsterdam.net/v1/chain/get_info");
|
|
234
|
-
expect(mswMock).toHaveBeenCalledWith("POST", "https://fio.eu.eosamsterdam.net/v1/chain/get_block", {
|
|
235
|
-
block_num_or_id: 61841978,
|
|
236
|
-
});
|
|
237
|
-
const chainId = Buffer.from(mswMock.handlers.get["https://fio.eu.eosamsterdam.net/v1/chain/get_info"].chain_id, "hex");
|
|
238
|
-
const msgRaw = Buffer.concat([chainId, Buffer.from(sig.serialized, "hex"), Buffer.alloc(32)]);
|
|
239
|
-
const msgHash = Buffer.from(Isolation.Core.Digest.Algorithms["sha256"](msgRaw));
|
|
240
|
-
const pubKey = bs58.decode("FIO5NSKecB4CcMpUxtpHzG4u43SmcGMAjRbxyG38rE4HPegGpaHu9".slice(3)).slice(0, -4);
|
|
241
|
-
const sigRaw = bs58.decode(sig.signature.slice(7)).slice(1, -4);
|
|
242
|
-
expect(tinyecc.verify(msgHash, pubKey, sigRaw)).toBe(true);
|
|
243
|
-
}));
|
|
244
|
-
it("should encrypt a request", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
245
|
-
expect(yield wallet.fioEncryptRequestContent({
|
|
246
|
-
addressNList: core.bip32ToAddressNList("m/44'/235'/0'/0/0"),
|
|
247
|
-
content: {
|
|
248
|
-
payee_public_address: "FIO5NSKecB4CcMpUxtpHzG4u43SmcGMAjRbxyG38rE4HPegGpaHu9",
|
|
249
|
-
amount: "1234",
|
|
250
|
-
chain_code: "foo",
|
|
251
|
-
token_code: "bar",
|
|
252
|
-
memo: "baz",
|
|
253
|
-
hash: "bash",
|
|
254
|
-
offline_url: "foobar",
|
|
255
|
-
},
|
|
256
|
-
publicKey: "FIO8HiUzsRDYo69AEmUk39f7h7nawTjn9msbX6oUY5wrX6ERCh3rA",
|
|
257
|
-
contentType: core.FioEncryptionContentType.REQUEST,
|
|
258
|
-
iv: Buffer.from("deadbeefdeadbeefdeadbeefdeadbeef", "hex"),
|
|
259
|
-
})).toMatchInlineSnapshot(`"3q2+796tvu/erb7v3q2+7yeNoq+0I2pI2M5ylVEBuYkKwwHIJfKeuDZPp9bOLZNVbGtY7bfy/U9b7n316iuX1EQJHlIiHLOELx60jdWfF4A67x1T3WR8OW6lGBYCZDj8j50YbQM/oqcAIG5ND9MWK9U6Z2rcubAuZvQAcll1Jm4cIgVp49+ZxSKzEvH7Aasz"`);
|
|
260
|
-
}));
|
|
261
|
-
it("should decrypt a request", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
262
|
-
expect(yield wallet.fioDecryptRequestContent({
|
|
263
|
-
addressNList: core.bip32ToAddressNList("m/44'/235'/1'/0/0"),
|
|
264
|
-
content: "3q2+796tvu/erb7v3q2+7yeNoq+0I2pI2M5ylVEBuYkKwwHIJfKeuDZPp9bOLZNVbGtY7bfy/U9b7n316iuX1EQJHlIiHLOELx60jdWfF4A67x1T3WR8OW6lGBYCZDj8j50YbQM/oqcAIG5ND9MWK9U6Z2rcubAuZvQAcll1Jm4cIgVp49+ZxSKzEvH7Aasz",
|
|
265
|
-
publicKey: "FIO5NSKecB4CcMpUxtpHzG4u43SmcGMAjRbxyG38rE4HPegGpaHu9",
|
|
266
|
-
contentType: core.FioEncryptionContentType.REQUEST,
|
|
267
|
-
})).toMatchInlineSnapshot(`
|
|
268
|
-
Object {
|
|
269
|
-
"amount": "1234",
|
|
270
|
-
"chain_code": "foo",
|
|
271
|
-
"hash": "bash",
|
|
272
|
-
"memo": "baz",
|
|
273
|
-
"offline_url": "foobar",
|
|
274
|
-
"payee_public_address": "FIO5NSKecB4CcMpUxtpHzG4u43SmcGMAjRbxyG38rE4HPegGpaHu9",
|
|
275
|
-
"token_code": "bar",
|
|
276
|
-
}
|
|
277
|
-
`);
|
|
278
|
-
}));
|
|
279
|
-
});
|
|
280
|
-
});
|
|
281
|
-
//# sourceMappingURL=fio.test.js.map
|