@ledgerhq/coin-stellar 0.7.0 → 1.0.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +11 -0
- package/lib/api/index.integ.test.js +20 -31
- package/lib/api/index.integ.test.js.map +1 -1
- package/lib/api/index.js +21 -24
- package/lib/api/index.js.map +1 -1
- package/lib/bridge/broadcast.js +3 -12
- package/lib/bridge/broadcast.js.map +1 -1
- package/lib/bridge/broadcast.test.js +14 -18
- package/lib/bridge/broadcast.test.js.map +1 -1
- package/lib/bridge/buildOptimisticOperation.js +47 -59
- package/lib/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib/bridge/buildTransaction.integ.test.js +24 -33
- package/lib/bridge/buildTransaction.integ.test.js.map +1 -1
- package/lib/bridge/buildTransaction.js +20 -31
- package/lib/bridge/buildTransaction.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +9 -14
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getTransactionStatus.js +12 -22
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/index.js +1 -10
- package/lib/bridge/index.js.map +1 -1
- package/lib/bridge/logic.js +3 -14
- package/lib/bridge/logic.js.map +1 -1
- package/lib/bridge/prepareTransaction.js +3 -12
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/signOperation.js +23 -34
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/signOperation.test.js +8 -13
- package/lib/bridge/signOperation.test.js.map +1 -1
- package/lib/bridge/synchronization.integ.test.js +7 -12
- package/lib/bridge/synchronization.integ.test.js.map +1 -1
- package/lib/bridge/synchronization.js +17 -22
- package/lib/bridge/synchronization.js.map +1 -1
- package/lib/bridge/synchronization.test.d.ts +1 -0
- package/lib/bridge/synchronization.test.js +1 -0
- package/lib/bridge/synchronization.test.js.map +1 -1
- package/lib/bridge/tokens.js +7 -1
- package/lib/bridge/tokens.js.map +1 -1
- package/lib/bridge/transaction.js +26 -6
- package/lib/bridge/transaction.js.map +1 -1
- package/lib/logic/broadcast.js +2 -13
- package/lib/logic/broadcast.js.map +1 -1
- package/lib/logic/craftTransaction.js +39 -50
- package/lib/logic/craftTransaction.js.map +1 -1
- package/lib/logic/estimateFees.js +3 -14
- package/lib/logic/estimateFees.js.map +1 -1
- package/lib/logic/getBalance.js +3 -14
- package/lib/logic/getBalance.js.map +1 -1
- package/lib/logic/lastBlock.js +2 -13
- package/lib/logic/lastBlock.js.map +1 -1
- package/lib/logic/listOperations.d.ts +3 -3
- package/lib/logic/listOperations.d.ts.map +1 -1
- package/lib/logic/listOperations.js +14 -27
- package/lib/logic/listOperations.js.map +1 -1
- package/lib/logic/sdkWrapper.js +1 -1
- package/lib/logic/sdkWrapper.js.map +1 -1
- package/lib/network/horizon.js +214 -250
- package/lib/network/horizon.js.map +1 -1
- package/lib/network/serialization.js +52 -66
- package/lib/network/serialization.js.map +1 -1
- package/lib/signer/getAddress.js +5 -14
- package/lib/signer/getAddress.js.map +1 -1
- package/lib/test/bot-specs.js +6 -7
- package/lib/test/bot-specs.js.map +1 -1
- package/lib/test/bridgeDatasetTest.js +63 -10
- package/lib/test/bridgeDatasetTest.js.map +1 -1
- package/lib/test/cli.js +10 -4
- package/lib/test/cli.js.map +1 -1
- package/lib/types/bridge.fixture.js +61 -44
- package/lib/types/bridge.fixture.js.map +1 -1
- package/lib-es/api/index.integ.test.js +20 -31
- package/lib-es/api/index.integ.test.js.map +1 -1
- package/lib-es/api/index.js +21 -24
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/bridge/broadcast.js +3 -12
- package/lib-es/bridge/broadcast.js.map +1 -1
- package/lib-es/bridge/broadcast.test.js +14 -18
- package/lib-es/bridge/broadcast.test.js.map +1 -1
- package/lib-es/bridge/buildOptimisticOperation.js +47 -59
- package/lib-es/bridge/buildOptimisticOperation.js.map +1 -1
- package/lib-es/bridge/buildTransaction.integ.test.js +24 -33
- package/lib-es/bridge/buildTransaction.integ.test.js.map +1 -1
- package/lib-es/bridge/buildTransaction.js +20 -31
- package/lib-es/bridge/buildTransaction.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js +9 -14
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +12 -22
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/index.js +1 -10
- package/lib-es/bridge/index.js.map +1 -1
- package/lib-es/bridge/logic.js +3 -14
- package/lib-es/bridge/logic.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +3 -12
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/signOperation.js +23 -34
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/signOperation.test.js +8 -13
- package/lib-es/bridge/signOperation.test.js.map +1 -1
- package/lib-es/bridge/synchronization.integ.test.js +7 -12
- package/lib-es/bridge/synchronization.integ.test.js.map +1 -1
- package/lib-es/bridge/synchronization.js +17 -22
- package/lib-es/bridge/synchronization.js.map +1 -1
- package/lib-es/bridge/tokens.js +7 -1
- package/lib-es/bridge/tokens.js.map +1 -1
- package/lib-es/bridge/transaction.js +26 -6
- package/lib-es/bridge/transaction.js.map +1 -1
- package/lib-es/logic/broadcast.js +2 -13
- package/lib-es/logic/broadcast.js.map +1 -1
- package/lib-es/logic/craftTransaction.js +39 -50
- package/lib-es/logic/craftTransaction.js.map +1 -1
- package/lib-es/logic/estimateFees.js +3 -14
- package/lib-es/logic/estimateFees.js.map +1 -1
- package/lib-es/logic/getBalance.js +3 -14
- package/lib-es/logic/getBalance.js.map +1 -1
- package/lib-es/logic/lastBlock.js +2 -13
- package/lib-es/logic/lastBlock.js.map +1 -1
- package/lib-es/logic/listOperations.d.ts +3 -3
- package/lib-es/logic/listOperations.d.ts.map +1 -1
- package/lib-es/logic/listOperations.js +14 -27
- package/lib-es/logic/listOperations.js.map +1 -1
- package/lib-es/logic/sdkWrapper.js +1 -1
- package/lib-es/logic/sdkWrapper.js.map +1 -1
- package/lib-es/network/horizon.js +211 -247
- package/lib-es/network/horizon.js.map +1 -1
- package/lib-es/network/serialization.js +52 -66
- package/lib-es/network/serialization.js.map +1 -1
- package/lib-es/signer/getAddress.js +5 -14
- package/lib-es/signer/getAddress.js.map +1 -1
- package/lib-es/test/bot-specs.js +6 -7
- package/lib-es/test/bot-specs.js.map +1 -1
- package/lib-es/test/bridgeDatasetTest.js +63 -10
- package/lib-es/test/bridgeDatasetTest.js.map +1 -1
- package/lib-es/test/cli.js +10 -4
- package/lib-es/test/cli.js.map +1 -1
- package/lib-es/types/bridge.fixture.js +61 -44
- package/lib-es/types/bridge.fixture.js.map +1 -1
- package/package.json +4 -4
- package/src/api/index.integ.test.ts +3 -5
- package/src/api/index.ts +6 -3
- package/src/logic/listOperations.ts +4 -4
- package/tsconfig.json +0 -1
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @ledgerhq/coin-stellar
|
|
2
2
|
|
|
3
|
+
## 1.0.0-next.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#9092](https://github.com/LedgerHQ/ledger-live/pull/9092) [`5e18866`](https://github.com/LedgerHQ/ledger-live/commit/5e18866320b843632699659ee66f6c410c108c1e) Thanks [@jprudent](https://github.com/jprudent)! - Change coin-framework/api types for list operations
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [[`5e18866`](https://github.com/LedgerHQ/ledger-live/commit/5e18866320b843632699659ee66f6c410c108c1e)]:
|
|
12
|
+
- @ledgerhq/coin-framework@1.0.0-next.0
|
|
13
|
+
|
|
3
14
|
## 0.7.0
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
const _1 = require(".");
|
|
13
4
|
/**
|
|
@@ -24,19 +15,19 @@ describe("Stellar Api", () => {
|
|
|
24
15
|
});
|
|
25
16
|
});
|
|
26
17
|
describe("estimateFees", () => {
|
|
27
|
-
it("returns a default value", () =>
|
|
18
|
+
it("returns a default value", async () => {
|
|
28
19
|
// Given
|
|
29
|
-
const amount = BigInt(
|
|
20
|
+
const amount = BigInt(100_000);
|
|
30
21
|
// When
|
|
31
|
-
const result =
|
|
22
|
+
const result = await module.estimateFees(address, amount);
|
|
32
23
|
// Then
|
|
33
24
|
expect(result).toEqual(BigInt(100));
|
|
34
|
-
})
|
|
25
|
+
});
|
|
35
26
|
});
|
|
36
27
|
describe.only("listOperations", () => {
|
|
37
|
-
it("returns a list regarding address parameter", () =>
|
|
28
|
+
it("returns a list regarding address parameter", async () => {
|
|
38
29
|
// When
|
|
39
|
-
const [tx, _] =
|
|
30
|
+
const [tx, _] = await module.listOperations(address, { minHeight: 0 });
|
|
40
31
|
// Then
|
|
41
32
|
expect(tx.length).toBeGreaterThanOrEqual(100);
|
|
42
33
|
tx.forEach(operation => {
|
|
@@ -44,48 +35,46 @@ describe("Stellar Api", () => {
|
|
|
44
35
|
const isSenderOrReceipt = operation.senders.includes(address) || operation.recipients.includes(address);
|
|
45
36
|
expect(isSenderOrReceipt).toBeTruthy();
|
|
46
37
|
});
|
|
47
|
-
})
|
|
48
|
-
it("returns
|
|
38
|
+
});
|
|
39
|
+
it("returns all operations", async () => {
|
|
49
40
|
// When
|
|
50
|
-
const [tx,
|
|
51
|
-
const [tx2, _] = yield module.listOperations(address, { limit: 200, start: idx });
|
|
52
|
-
tx.push(...tx2);
|
|
41
|
+
const [tx, _] = await module.listOperations(address, { minHeight: 0 });
|
|
53
42
|
// Then
|
|
54
43
|
const checkSet = new Set(tx.map(elt => elt.hash));
|
|
55
44
|
expect(checkSet.size).toEqual(tx.length);
|
|
56
|
-
})
|
|
45
|
+
});
|
|
57
46
|
});
|
|
58
47
|
describe("lastBlock", () => {
|
|
59
|
-
it("returns last block info", () =>
|
|
48
|
+
it("returns last block info", async () => {
|
|
60
49
|
// When
|
|
61
|
-
const result =
|
|
50
|
+
const result = await module.lastBlock();
|
|
62
51
|
// Then
|
|
63
52
|
expect(result.hash).toBeDefined();
|
|
64
53
|
expect(result.height).toBeDefined();
|
|
65
54
|
expect(result.time).toBeInstanceOf(Date);
|
|
66
|
-
})
|
|
55
|
+
});
|
|
67
56
|
});
|
|
68
57
|
describe("getBalance", () => {
|
|
69
|
-
it("returns a list regarding address parameter", () =>
|
|
58
|
+
it("returns a list regarding address parameter", async () => {
|
|
70
59
|
// When
|
|
71
|
-
const result =
|
|
60
|
+
const result = await module.getBalance(address);
|
|
72
61
|
// Then
|
|
73
62
|
expect(result).toBeGreaterThan(0);
|
|
74
|
-
})
|
|
63
|
+
});
|
|
75
64
|
});
|
|
76
65
|
describe("craftTransaction", () => {
|
|
77
|
-
it("returns a raw transaction", () =>
|
|
66
|
+
it("returns a raw transaction", async () => {
|
|
78
67
|
// When
|
|
79
|
-
const result =
|
|
68
|
+
const result = await module.craftTransaction(address, {
|
|
80
69
|
type: "send",
|
|
81
70
|
recipient: "GD6QELUZPSKPRWVXOQ3F6GBF4OBRMCHO5PHREXH4ZRTPJAG7V5MD7JGX",
|
|
82
|
-
amount: BigInt(
|
|
71
|
+
amount: BigInt(1_000_000),
|
|
83
72
|
fee: BigInt(100),
|
|
84
73
|
});
|
|
85
74
|
// Then
|
|
86
75
|
expect(result.slice(0, 67)).toEqual("AAAAAgAAAAD9Ai6ZfJT42rd0Nl8YJeODFgju688SXPzMZvSA369YPwAAAGQAAHloAAA");
|
|
87
76
|
expect(result.slice(70)).toEqual("AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAD9Ai6ZfJT42rd0Nl8YJeODFgju688SXPzMZvSA369YPwAAAAAAAAAAAA9CQAAAAAAAAAAA");
|
|
88
|
-
})
|
|
77
|
+
});
|
|
89
78
|
});
|
|
90
79
|
});
|
|
91
80
|
//# sourceMappingURL=index.integ.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"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"}
|
package/lib/api/index.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -16,7 +7,7 @@ exports.createApi = void 0;
|
|
|
16
7
|
const config_1 = __importDefault(require("../config"));
|
|
17
8
|
const logic_1 = require("../logic");
|
|
18
9
|
function createApi(config) {
|
|
19
|
-
config_1.default.setCoinConfig(() => (
|
|
10
|
+
config_1.default.setCoinConfig(() => ({ ...config, status: { type: "active" } }));
|
|
20
11
|
return {
|
|
21
12
|
broadcast: logic_1.broadcast,
|
|
22
13
|
combine: compose,
|
|
@@ -31,20 +22,23 @@ exports.createApi = createApi;
|
|
|
31
22
|
function isSupplement(supplement) {
|
|
32
23
|
return typeof supplement === "object";
|
|
33
24
|
}
|
|
34
|
-
function craft(address, transaction) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
25
|
+
async function craft(address, transaction) {
|
|
26
|
+
const supplement = isSupplement(transaction.supplement)
|
|
27
|
+
? {
|
|
28
|
+
assetCode: transaction.supplement?.assetCode,
|
|
29
|
+
assetIssuer: transaction.supplement?.assetIssuer,
|
|
30
|
+
memoType: transaction.supplement?.memoType,
|
|
31
|
+
memoValue: transaction.supplement?.memoValue,
|
|
32
|
+
}
|
|
33
|
+
: {};
|
|
34
|
+
const tx = await (0, logic_1.craftTransaction)({ address }, {
|
|
35
|
+
...transaction,
|
|
36
|
+
assetCode: supplement?.assetCode,
|
|
37
|
+
assetIssuer: supplement?.assetIssuer,
|
|
38
|
+
memoType: supplement?.memoType,
|
|
39
|
+
memoValue: supplement?.memoValue,
|
|
47
40
|
});
|
|
41
|
+
return tx.xdr;
|
|
48
42
|
}
|
|
49
43
|
function compose(tx, signature, pubkey) {
|
|
50
44
|
if (!pubkey) {
|
|
@@ -52,5 +46,8 @@ function compose(tx, signature, pubkey) {
|
|
|
52
46
|
}
|
|
53
47
|
return (0, logic_1.combine)(tx, signature, pubkey);
|
|
54
48
|
}
|
|
55
|
-
|
|
49
|
+
async function operations(address, _pagination) {
|
|
50
|
+
// TODO will be fixed with https://github.com/LedgerHQ/ledger-live/pull/8898/files
|
|
51
|
+
return (0, logic_1.listOperations)(address, { limit: 200 });
|
|
52
|
+
}
|
|
56
53
|
//# sourceMappingURL=index.js.map
|
package/lib/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;AAMA,uDAA2D;AAC3D,oCAQkB;AAElB,SAAgB,SAAS,CAAC,MAAqB;IAC7C,gBAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5E,OAAO;QACL,SAAS,EAAT,iBAAS;QACT,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAZ,oBAAY;QACZ,UAAU,EAAV,kBAAU;QACV,SAAS,EAAT,iBAAS;QACT,cAAc,EAAE,UAAU;KAC3B,CAAC;AACJ,CAAC;AAZD,8BAYC;AAQD,SAAS,YAAY,CAAC,UAAmB;IACvC,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC;AACxC,CAAC;AACD,KAAK,UAAU,KAAK,CAAC,OAAe,EAAE,WAA2B;IAC/D,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC;QACrD,CAAC,CAAC;YACE,SAAS,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS;YAC5C,WAAW,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW;YAChD,QAAQ,EAAE,WAAW,CAAC,UAAU,EAAE,QAAQ;YAC1C,SAAS,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS;SAC7C;QACH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,EAAE,GAAG,MAAM,IAAA,wBAAgB,EAC/B,EAAE,OAAO,EAAE,EACX;QACE,GAAG,WAAW;QACd,SAAS,EAAE,UAAU,EAAE,SAAS;QAChC,WAAW,EAAE,UAAU,EAAE,WAAW;QACpC,QAAQ,EAAE,UAAU,EAAE,QAAQ;QAC9B,SAAS,EAAE,UAAU,EAAE,SAAS;KACjC,CACF,CAAC;IACF,OAAO,EAAE,CAAC,GAAG,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,EAAU,EAAE,SAAiB,EAAE,MAAe;IAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,IAAA,eAAO,EAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,OAAe,EACf,WAAuB;IAEvB,kFAAkF;IAClF,OAAO,IAAA,sBAAc,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC"}
|
package/lib/bridge/broadcast.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.broadcast = void 0;
|
|
13
4
|
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
@@ -16,11 +7,11 @@ const logic_1 = require("../logic");
|
|
|
16
7
|
* Broadcast a signed transaction
|
|
17
8
|
* @param {signature: string, operation: string} signedOperation
|
|
18
9
|
*/
|
|
19
|
-
const broadcast =
|
|
10
|
+
const broadcast = async ({ signedOperation, }) => {
|
|
20
11
|
const { signature, operation } = signedOperation;
|
|
21
|
-
const hash =
|
|
12
|
+
const hash = await (0, logic_1.broadcast)(signature);
|
|
22
13
|
return (0, operation_1.patchOperationWithHash)(operation, hash);
|
|
23
|
-
}
|
|
14
|
+
};
|
|
24
15
|
exports.broadcast = broadcast;
|
|
25
16
|
exports.default = exports.broadcast;
|
|
26
17
|
//# sourceMappingURL=broadcast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/bridge/broadcast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/bridge/broadcast.ts"],"names":[],"mappings":";;;AAAA,kEAA4E;AAE5E,oCAAqD;AAGrD;;;GAGG;AACI,MAAM,SAAS,GAA4C,KAAK,EAAE,EACvE,eAAe,GAGhB,EAAsB,EAAE;IACvB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAY,EAAC,SAAS,CAAC,CAAC;IAC3C,OAAO,IAAA,kCAAsB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC,CAAC;AARW,QAAA,SAAS,aAQpB;AAEF,kBAAe,iBAAS,CAAC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
const broadcast_1 = require("./broadcast");
|
|
13
4
|
const bridge_fixture_1 = require("../types/bridge.fixture");
|
|
@@ -17,10 +8,9 @@ jest.mock("../network", () => ({
|
|
|
17
8
|
}));
|
|
18
9
|
describe("broadcast", () => {
|
|
19
10
|
beforeEach(() => mockBroadcast.mockClear());
|
|
20
|
-
it("calls network apiNetwork", () =>
|
|
21
|
-
var _a;
|
|
11
|
+
it("calls network apiNetwork", async () => {
|
|
22
12
|
// When
|
|
23
|
-
|
|
13
|
+
await (0, broadcast_1.broadcast)({
|
|
24
14
|
account: (0, bridge_fixture_1.createFixtureAccount)(),
|
|
25
15
|
signedOperation: {
|
|
26
16
|
signature: "Whatever signature",
|
|
@@ -29,14 +19,14 @@ describe("broadcast", () => {
|
|
|
29
19
|
});
|
|
30
20
|
// Then
|
|
31
21
|
expect(mockBroadcast).toHaveBeenCalledTimes(1);
|
|
32
|
-
expect(
|
|
33
|
-
})
|
|
34
|
-
it("returns a new operation with 'hash' setted and new id", () =>
|
|
22
|
+
expect(mockBroadcast.mock?.lastCall[0]).toEqual("Whatever signature");
|
|
23
|
+
});
|
|
24
|
+
it("returns a new operation with 'hash' setted and new id", async () => {
|
|
35
25
|
// Given
|
|
36
26
|
const operation = (0, bridge_fixture_1.createFixtureOperation)();
|
|
37
27
|
mockBroadcast.mockResolvedValue("Any hash value");
|
|
38
28
|
// When
|
|
39
|
-
const newOperation =
|
|
29
|
+
const newOperation = await (0, broadcast_1.broadcast)({
|
|
40
30
|
account: (0, bridge_fixture_1.createFixtureAccount)(),
|
|
41
31
|
signedOperation: {
|
|
42
32
|
signature: "Whatever signature",
|
|
@@ -44,8 +34,14 @@ describe("broadcast", () => {
|
|
|
44
34
|
},
|
|
45
35
|
});
|
|
46
36
|
// Then
|
|
47
|
-
expect(newOperation).toEqual(
|
|
37
|
+
expect(newOperation).toEqual({
|
|
38
|
+
...operation,
|
|
39
|
+
id: expect.any(String),
|
|
40
|
+
hash: "Any hash value",
|
|
41
|
+
nftOperations: [],
|
|
42
|
+
subOperations: [],
|
|
43
|
+
});
|
|
48
44
|
expect(newOperation.id).not.toEqual(operation.id);
|
|
49
|
-
})
|
|
45
|
+
});
|
|
50
46
|
});
|
|
51
47
|
//# sourceMappingURL=broadcast.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.test.js","sourceRoot":"","sources":["../../src/bridge/broadcast.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broadcast.test.js","sourceRoot":"","sources":["../../src/bridge/broadcast.test.ts"],"names":[],"mappings":";;AAAA,2CAAwC;AACxC,4DAAuF;AAEvF,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAChC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,oBAAoB,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC;CAC3D,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;IAE5C,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,OAAO;QACP,MAAM,IAAA,qBAAS,EAAC;YACd,OAAO,EAAE,IAAA,qCAAoB,GAAE;YAC/B,eAAe,EAAE;gBACf,SAAS,EAAE,oBAAoB;gBAC/B,SAAS,EAAE,IAAA,uCAAsB,GAAE;aACpC;SACF,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,QAAQ;QACR,MAAM,SAAS,GAAG,IAAA,uCAAsB,GAAE,CAAC;QAC3C,aAAa,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAElD,OAAO;QACP,MAAM,YAAY,GAAG,MAAM,IAAA,qBAAS,EAAC;YACnC,OAAO,EAAE,IAAA,qCAAoB,GAAE;YAC/B,eAAe,EAAE;gBACf,SAAS,EAAE,oBAAoB;gBAC/B,SAAS;aACV;SACF,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC3B,GAAG,SAAS;YACZ,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,gBAAgB;YACtB,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,EAAE;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -17,57 +8,54 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
|
17
8
|
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
18
9
|
const logic_1 = require("./logic");
|
|
19
10
|
const network_1 = require("../network");
|
|
20
|
-
function buildOptimisticOperation(account, transaction) {
|
|
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
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
extra: {
|
|
64
|
-
ledgerOpType: type,
|
|
65
|
-
},
|
|
11
|
+
async function buildOptimisticOperation(account, transaction) {
|
|
12
|
+
const transactionSequenceNumber = await (0, network_1.fetchSequence)(account);
|
|
13
|
+
const fees = transaction.fees ?? new bignumber_js_1.default(0);
|
|
14
|
+
const type = transaction.mode === "changeTrust" ? "OPT_IN" : "OUT";
|
|
15
|
+
const operation = {
|
|
16
|
+
id: (0, operation_1.encodeOperationId)(account.id, "", type),
|
|
17
|
+
hash: "",
|
|
18
|
+
type,
|
|
19
|
+
value: transaction.subAccountId ? fees : (0, logic_1.getAmountValue)(account, transaction, fees),
|
|
20
|
+
fee: fees,
|
|
21
|
+
blockHash: null,
|
|
22
|
+
blockHeight: null,
|
|
23
|
+
senders: [account.freshAddress],
|
|
24
|
+
recipients: [transaction.recipient],
|
|
25
|
+
accountId: account.id,
|
|
26
|
+
date: new Date(),
|
|
27
|
+
transactionSequenceNumber: transactionSequenceNumber?.plus(1).toNumber(),
|
|
28
|
+
extra: {
|
|
29
|
+
ledgerOpType: type,
|
|
30
|
+
blockTime: new Date(),
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
const { subAccountId } = transaction;
|
|
34
|
+
const { subAccounts } = account;
|
|
35
|
+
const tokenAccount = !subAccountId
|
|
36
|
+
? null
|
|
37
|
+
: subAccounts && subAccounts.find(ta => ta.id === subAccountId);
|
|
38
|
+
if (tokenAccount && subAccountId) {
|
|
39
|
+
operation.subOperations = [
|
|
40
|
+
{
|
|
41
|
+
id: `${subAccountId}--OUT`,
|
|
42
|
+
hash: "",
|
|
43
|
+
type: "OUT",
|
|
44
|
+
value: transaction.useAllAmount ? tokenAccount.balance : transaction.amount,
|
|
45
|
+
fee: new bignumber_js_1.default(0),
|
|
46
|
+
blockHash: null,
|
|
47
|
+
blockHeight: null,
|
|
48
|
+
senders: [account.freshAddress],
|
|
49
|
+
recipients: [transaction.recipient],
|
|
50
|
+
accountId: subAccountId,
|
|
51
|
+
date: new Date(),
|
|
52
|
+
extra: {
|
|
53
|
+
ledgerOpType: type,
|
|
66
54
|
},
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
return operation;
|
|
71
59
|
}
|
|
72
60
|
exports.buildOptimisticOperation = buildOptimisticOperation;
|
|
73
61
|
//# sourceMappingURL=buildOptimisticOperation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,kEAAuE;AAEvE,mCAAyC;AACzC,wCAA2C;AAEpC,KAAK,UAAU,wBAAwB,CAC5C,OAAgB,EAChB,WAAwB;IAExB,MAAM,yBAAyB,GAAG,MAAM,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAEnE,MAAM,SAAS,GAAqB;QAClC,EAAE,EAAE,IAAA,6BAAiB,EAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC;QAC3C,IAAI,EAAE,EAAE;QACR,IAAI;QACJ,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC;QACnF,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;QAC/B,UAAU,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;QACnC,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,yBAAyB,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACxE,KAAK,EAAE;YACL,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB;KACF,CAAC;IAEF,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IACrC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEhC,MAAM,YAAY,GAAG,CAAC,YAAY;QAChC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;IAElE,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACjC,SAAS,CAAC,aAAa,GAAG;YACxB;gBACE,EAAE,EAAE,GAAG,YAAY,OAAO;gBAC1B,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM;gBAC3E,GAAG,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;gBACrB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC/B,UAAU,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;gBACnC,SAAS,EAAE,YAAY;gBACvB,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,KAAK,EAAE;oBACL,YAAY,EAAE,IAAI;iBACnB;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAxDD,4DAwDC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -27,23 +18,23 @@ describe("buildTransaction", () => {
|
|
|
27
18
|
},
|
|
28
19
|
}));
|
|
29
20
|
});
|
|
30
|
-
it("throws an error if transaction has no NetworkInfo", () =>
|
|
21
|
+
it("throws an error if transaction has no NetworkInfo", async () => {
|
|
31
22
|
// Given
|
|
32
23
|
const account = (0, bridge_fixture_1.createFixtureAccount)({ freshAddress: sender });
|
|
33
24
|
const transaction = (0, bridge_fixture_1.createFixtureTransaction)({ fees: (0, bignumber_js_1.default)(1) });
|
|
34
25
|
// When
|
|
35
|
-
|
|
36
|
-
})
|
|
37
|
-
it("throws an error when no fees are setted in the transaction", () =>
|
|
26
|
+
await expect((0, buildTransaction_1.buildTransaction)(account, transaction)).rejects.toThrow("stellar family");
|
|
27
|
+
});
|
|
28
|
+
it("throws an error when no fees are setted in the transaction", async () => {
|
|
38
29
|
// Given
|
|
39
30
|
const account = (0, bridge_fixture_1.createFixtureAccount)();
|
|
40
31
|
const transaction = (0, bridge_fixture_1.createFixtureTransaction)({
|
|
41
32
|
networkInfo: { family: "stellar" },
|
|
42
33
|
});
|
|
43
34
|
// When
|
|
44
|
-
|
|
45
|
-
})
|
|
46
|
-
it.skip("crash if transaction amount is 0", () =>
|
|
35
|
+
await expect((0, buildTransaction_1.buildTransaction)(account, transaction)).rejects.toThrow("FeeNotLoaded");
|
|
36
|
+
});
|
|
37
|
+
it.skip("crash if transaction amount is 0", async () => {
|
|
47
38
|
// Given
|
|
48
39
|
const account = (0, bridge_fixture_1.createFixtureAccount)({ freshAddress: sender });
|
|
49
40
|
const transaction = (0, bridge_fixture_1.createFixtureTransaction)({
|
|
@@ -52,11 +43,11 @@ describe("buildTransaction", () => {
|
|
|
52
43
|
networkInfo: { family: "stellar" },
|
|
53
44
|
});
|
|
54
45
|
// When
|
|
55
|
-
const builtTransaction =
|
|
46
|
+
const builtTransaction = await (0, buildTransaction_1.buildTransaction)(account, transaction);
|
|
56
47
|
// Then
|
|
57
48
|
expect(builtTransaction).toBeUndefined();
|
|
58
|
-
})
|
|
59
|
-
it("throws an error when recipient is an invalid address", () =>
|
|
49
|
+
});
|
|
50
|
+
it("throws an error when recipient is an invalid address", async () => {
|
|
60
51
|
// Given
|
|
61
52
|
const account = (0, bridge_fixture_1.createFixtureAccount)({ freshAddress: sender });
|
|
62
53
|
const transaction = (0, bridge_fixture_1.createFixtureTransaction)({
|
|
@@ -66,9 +57,9 @@ describe("buildTransaction", () => {
|
|
|
66
57
|
recipient: "NEW",
|
|
67
58
|
});
|
|
68
59
|
// When
|
|
69
|
-
|
|
70
|
-
})
|
|
71
|
-
it("returns a built transaction in Stellar format", () =>
|
|
60
|
+
await expect((0, buildTransaction_1.buildTransaction)(account, transaction)).rejects.toThrow("destination is invalid");
|
|
61
|
+
});
|
|
62
|
+
it("returns a built transaction in Stellar format", async () => {
|
|
72
63
|
// Given
|
|
73
64
|
const account = (0, bridge_fixture_1.createFixtureAccount)({ freshAddress: sender });
|
|
74
65
|
const transaction = (0, bridge_fixture_1.createFixtureTransaction)({
|
|
@@ -77,7 +68,7 @@ describe("buildTransaction", () => {
|
|
|
77
68
|
networkInfo: { family: "stellar" },
|
|
78
69
|
});
|
|
79
70
|
// When
|
|
80
|
-
const builtTransaction =
|
|
71
|
+
const builtTransaction = await (0, buildTransaction_1.buildTransaction)(account, transaction);
|
|
81
72
|
// Then
|
|
82
73
|
expect(builtTransaction.fee).toEqual("1");
|
|
83
74
|
expect(builtTransaction.source).toEqual(sender);
|
|
@@ -90,8 +81,8 @@ describe("buildTransaction", () => {
|
|
|
90
81
|
expect(operation.asset.issuer).toBeUndefined();
|
|
91
82
|
expect(builtTransaction.toXDR().slice(0, 67)).toEqual("AAAAAgAAAAAnxYb4SZKUxk1X+NeVbu9EMd5YqyDhyIAB9s8THJfW8wAAAAEBn2AnAAA");
|
|
92
83
|
expect(builtTransaction.toXDR().slice(70)).toEqual("AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAADw9kGYtpM1vsCgDoHjZOVO/sjTKLsmA51f8vdM9oaecgAAAAAAAAAAAAAACgAAAAAAAAAA");
|
|
93
|
-
})
|
|
94
|
-
it("returns a built transaction in Stellar format when useAllAmount", () =>
|
|
84
|
+
});
|
|
85
|
+
it("returns a built transaction in Stellar format when useAllAmount", async () => {
|
|
95
86
|
// Given
|
|
96
87
|
const account = (0, bridge_fixture_1.createFixtureAccount)({
|
|
97
88
|
freshAddress: sender,
|
|
@@ -105,7 +96,7 @@ describe("buildTransaction", () => {
|
|
|
105
96
|
useAllAmount: true,
|
|
106
97
|
});
|
|
107
98
|
// When
|
|
108
|
-
const builtTransaction =
|
|
99
|
+
const builtTransaction = await (0, buildTransaction_1.buildTransaction)(account, transaction);
|
|
109
100
|
// Then
|
|
110
101
|
expect(builtTransaction.fee).toEqual("1");
|
|
111
102
|
expect(builtTransaction.source).toEqual(sender);
|
|
@@ -118,8 +109,8 @@ describe("buildTransaction", () => {
|
|
|
118
109
|
expect(operation.asset.issuer).toBeUndefined();
|
|
119
110
|
expect(builtTransaction.toXDR().slice(0, 67)).toEqual("AAAAAgAAAAAnxYb4SZKUxk1X+NeVbu9EMd5YqyDhyIAB9s8THJfW8wAAAAEBn2AnAAA");
|
|
120
111
|
expect(builtTransaction.toXDR().slice(70)).toEqual("AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAADw9kGYtpM1vsCgDoHjZOVO/sjTKLsmA51f8vdM9oaecgAAAAAAAAAAHdEMMwAAAAAAAAAA");
|
|
121
|
-
})
|
|
122
|
-
it("returns a built transaction in Stellar format when asset used is USDC", () =>
|
|
112
|
+
});
|
|
113
|
+
it("returns a built transaction in Stellar format when asset used is USDC", async () => {
|
|
123
114
|
// Given
|
|
124
115
|
const account = (0, bridge_fixture_1.createFixtureAccount)({ freshAddress: sender });
|
|
125
116
|
const transaction = (0, bridge_fixture_1.createFixtureTransaction)({
|
|
@@ -131,7 +122,7 @@ describe("buildTransaction", () => {
|
|
|
131
122
|
assetIssuer: "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
|
|
132
123
|
});
|
|
133
124
|
// When
|
|
134
|
-
const builtTransaction =
|
|
125
|
+
const builtTransaction = await (0, buildTransaction_1.buildTransaction)(account, transaction);
|
|
135
126
|
// Then
|
|
136
127
|
expect(builtTransaction.fee).toEqual("1");
|
|
137
128
|
expect(builtTransaction.source).toEqual(sender);
|
|
@@ -141,8 +132,8 @@ describe("buildTransaction", () => {
|
|
|
141
132
|
expect(operation.asset.code).toEqual("USDC");
|
|
142
133
|
expect(operation.asset.issuer).toEqual("GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN");
|
|
143
134
|
expect(builtTransaction.toXDR().slice(0, 67)).toEqual("AAAAAgAAAAAnxYb4SZKUxk1X+NeVbu9EMd5YqyDhyIAB9s8THJfW8wAAAAEBn2AnAAA");
|
|
144
|
-
})
|
|
145
|
-
it("returns a built transaction in Stellar format", () =>
|
|
135
|
+
});
|
|
136
|
+
it("returns a built transaction in Stellar format", async () => {
|
|
146
137
|
// Given
|
|
147
138
|
const account = (0, bridge_fixture_1.createFixtureAccount)({ freshAddress: sender });
|
|
148
139
|
const transaction = (0, bridge_fixture_1.createFixtureTransaction)({
|
|
@@ -153,7 +144,7 @@ describe("buildTransaction", () => {
|
|
|
153
144
|
memoValue: "Hello",
|
|
154
145
|
});
|
|
155
146
|
// When
|
|
156
|
-
const builtTransaction =
|
|
147
|
+
const builtTransaction = await (0, buildTransaction_1.buildTransaction)(account, transaction);
|
|
157
148
|
// Then
|
|
158
149
|
expect(builtTransaction.fee).toEqual("1");
|
|
159
150
|
expect(builtTransaction.source).toEqual(sender);
|
|
@@ -166,6 +157,6 @@ describe("buildTransaction", () => {
|
|
|
166
157
|
expect(operation.asset.issuer).toBeUndefined();
|
|
167
158
|
expect(builtTransaction.toXDR().slice(0, 67)).toEqual("AAAAAgAAAAAnxYb4SZKUxk1X+NeVbu9EMd5YqyDhyIAB9s8THJfW8wAAAAEBn2AnAAA");
|
|
168
159
|
expect(builtTransaction.toXDR().slice(70)).toEqual("AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAVIZWxsbwAAAAAAAAEAAAAAAAAAAQAAAADw9kGYtpM1vsCgDoHjZOVO/sjTKLsmA51f8vdM9oaecgAAAAAAAAAAAAAACgAAAAAAAAAA");
|
|
169
|
-
})
|
|
160
|
+
});
|
|
170
161
|
});
|
|
171
162
|
//# sourceMappingURL=buildTransaction.integ.test.js.map
|