@ledgerhq/coin-stacks 0.1.1-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/.eslintrc.js +20 -0
- package/.turbo/turbo-build.log +4 -0
- package/.unimportedrc.json +31 -0
- package/CHANGELOG.md +11 -0
- package/LICENSE.txt +21 -0
- package/jest.config.js +8 -0
- package/lib/bridge/broadcast.d.ts +4 -0
- package/lib/bridge/broadcast.d.ts.map +1 -0
- package/lib/bridge/broadcast.js +28 -0
- package/lib/bridge/broadcast.js.map +1 -0
- package/lib/bridge/buildOptimisticOperation.d.ts +4 -0
- package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -0
- package/lib/bridge/buildOptimisticOperation.js +34 -0
- package/lib/bridge/buildOptimisticOperation.js.map +1 -0
- package/lib/bridge/createTransaction.d.ts +4 -0
- package/lib/bridge/createTransaction.d.ts.map +1 -0
- package/lib/bridge/createTransaction.js +18 -0
- package/lib/bridge/createTransaction.js.map +1 -0
- package/lib/bridge/deviceTransactionConfig.d.ts +22 -0
- package/lib/bridge/deviceTransactionConfig.d.ts.map +1 -0
- package/lib/bridge/deviceTransactionConfig.js +34 -0
- package/lib/bridge/deviceTransactionConfig.js.map +1 -0
- package/lib/bridge/estimateMaxSpendable.d.ts +4 -0
- package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
- package/lib/bridge/estimateMaxSpendable.js +46 -0
- package/lib/bridge/estimateMaxSpendable.js.map +1 -0
- package/lib/bridge/getTransactionStatus.d.ts +4 -0
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
- package/lib/bridge/getTransactionStatus.js +60 -0
- package/lib/bridge/getTransactionStatus.js.map +1 -0
- package/lib/bridge/index.d.ts +11 -0
- package/lib/bridge/index.d.ts.map +1 -0
- package/lib/bridge/index.js +56 -0
- package/lib/bridge/index.js.map +1 -0
- package/lib/bridge/prepareTransaction.d.ts +4 -0
- package/lib/bridge/prepareTransaction.d.ts.map +1 -0
- package/lib/bridge/prepareTransaction.js +56 -0
- package/lib/bridge/prepareTransaction.js.map +1 -0
- package/lib/bridge/signOperation.d.ts +5 -0
- package/lib/bridge/signOperation.d.ts.map +1 -0
- package/lib/bridge/signOperation.js +85 -0
- package/lib/bridge/signOperation.js.map +1 -0
- package/lib/bridge/synchronization.d.ts +5 -0
- package/lib/bridge/synchronization.d.ts.map +1 -0
- package/lib/bridge/synchronization.js +62 -0
- package/lib/bridge/synchronization.js.map +1 -0
- package/lib/bridge/transaction.d.ts +14 -0
- package/lib/bridge/transaction.d.ts.map +1 -0
- package/lib/bridge/transaction.js +46 -0
- package/lib/bridge/transaction.js.map +1 -0
- package/lib/bridge/utils/addresses.d.ts +13 -0
- package/lib/bridge/utils/addresses.d.ts.map +1 -0
- package/lib/bridge/utils/addresses.js +15 -0
- package/lib/bridge/utils/addresses.js.map +1 -0
- package/lib/bridge/utils/misc.d.ts +15 -0
- package/lib/bridge/utils/misc.d.ts.map +1 -0
- package/lib/bridge/utils/misc.js +186 -0
- package/lib/bridge/utils/misc.js.map +1 -0
- package/lib/bridge/utils/misc.unit.test.d.ts +2 -0
- package/lib/bridge/utils/misc.unit.test.d.ts.map +1 -0
- package/lib/bridge/utils/misc.unit.test.js +230 -0
- package/lib/bridge/utils/misc.unit.test.js.map +1 -0
- package/lib/config.d.ts +14 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +16 -0
- package/lib/config.js.map +1 -0
- package/lib/errors.d.ts +4 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +6 -0
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +21 -0
- package/lib/index.js.map +1 -0
- package/lib/network/api.d.ts +11 -0
- package/lib/network/api.d.ts.map +1 -0
- package/lib/network/api.js +139 -0
- package/lib/network/api.js.map +1 -0
- package/lib/network/api.types.d.ts +168 -0
- package/lib/network/api.types.d.ts.map +1 -0
- package/lib/network/api.types.js +9 -0
- package/lib/network/api.types.js.map +1 -0
- package/lib/network/index.d.ts +3 -0
- package/lib/network/index.d.ts.map +1 -0
- package/lib/network/index.js +19 -0
- package/lib/network/index.js.map +1 -0
- package/lib/signer/getAddress.d.ts +6 -0
- package/lib/signer/getAddress.d.ts.map +1 -0
- package/lib/signer/getAddress.js +31 -0
- package/lib/signer/getAddress.js.map +1 -0
- package/lib/signer/index.d.ts +4 -0
- package/lib/signer/index.d.ts.map +1 -0
- package/lib/signer/index.js +23 -0
- package/lib/signer/index.js.map +1 -0
- package/lib/signer/signMessage.d.ts +12 -0
- package/lib/signer/signMessage.d.ts.map +1 -0
- package/lib/signer/signMessage.js +31 -0
- package/lib/signer/signMessage.js.map +1 -0
- package/lib/test/bot-deviceActions.d.ts +4 -0
- package/lib/test/bot-deviceActions.d.ts.map +1 -0
- package/lib/test/bot-deviceActions.js +48 -0
- package/lib/test/bot-deviceActions.js.map +1 -0
- package/lib/test/bot-specs.d.ts +7 -0
- package/lib/test/bot-specs.d.ts.map +1 -0
- package/lib/test/bot-specs.js +73 -0
- package/lib/test/bot-specs.js.map +1 -0
- package/lib/test/bridgeDatasetTest.d.ts +4 -0
- package/lib/test/bridgeDatasetTest.d.ts.map +1 -0
- package/lib/test/bridgeDatasetTest.js +129 -0
- package/lib/test/bridgeDatasetTest.js.map +1 -0
- package/lib/test/cli.d.ts +15 -0
- package/lib/test/cli.d.ts.map +1 -0
- package/lib/test/cli.js +27 -0
- package/lib/test/cli.js.map +1 -0
- package/lib/test/index.d.ts +6 -0
- package/lib/test/index.d.ts.map +1 -0
- package/lib/test/index.js +26 -0
- package/lib/test/index.js.map +1 -0
- package/lib/types/bridge.d.ts +35 -0
- package/lib/types/bridge.d.ts.map +1 -0
- package/lib/types/bridge.js +3 -0
- package/lib/types/bridge.js.map +1 -0
- package/lib/types/index.d.ts +3 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +19 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/signer.d.ts +14 -0
- package/lib/types/signer.d.ts.map +1 -0
- package/lib/types/signer.js +3 -0
- package/lib/types/signer.js.map +1 -0
- package/lib/utils.d.ts +8 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +26 -0
- package/lib/utils.js.map +1 -0
- package/lib-es/bridge/broadcast.d.ts +4 -0
- package/lib-es/bridge/broadcast.d.ts.map +1 -0
- package/lib-es/bridge/broadcast.js +21 -0
- package/lib-es/bridge/broadcast.js.map +1 -0
- package/lib-es/bridge/buildOptimisticOperation.d.ts +4 -0
- package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -0
- package/lib-es/bridge/buildOptimisticOperation.js +27 -0
- package/lib-es/bridge/buildOptimisticOperation.js.map +1 -0
- package/lib-es/bridge/createTransaction.d.ts +4 -0
- package/lib-es/bridge/createTransaction.d.ts.map +1 -0
- package/lib-es/bridge/createTransaction.js +11 -0
- package/lib-es/bridge/createTransaction.js.map +1 -0
- package/lib-es/bridge/deviceTransactionConfig.d.ts +22 -0
- package/lib-es/bridge/deviceTransactionConfig.d.ts.map +1 -0
- package/lib-es/bridge/deviceTransactionConfig.js +32 -0
- package/lib-es/bridge/deviceTransactionConfig.js.map +1 -0
- package/lib-es/bridge/estimateMaxSpendable.d.ts +4 -0
- package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
- package/lib-es/bridge/estimateMaxSpendable.js +39 -0
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
- package/lib-es/bridge/getTransactionStatus.d.ts +4 -0
- package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
- package/lib-es/bridge/getTransactionStatus.js +53 -0
- package/lib-es/bridge/getTransactionStatus.js.map +1 -0
- package/lib-es/bridge/index.d.ts +11 -0
- package/lib-es/bridge/index.d.ts.map +1 -0
- package/lib-es/bridge/index.js +48 -0
- package/lib-es/bridge/index.js.map +1 -0
- package/lib-es/bridge/prepareTransaction.d.ts +4 -0
- package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
- package/lib-es/bridge/prepareTransaction.js +49 -0
- package/lib-es/bridge/prepareTransaction.js.map +1 -0
- package/lib-es/bridge/signOperation.d.ts +5 -0
- package/lib-es/bridge/signOperation.d.ts.map +1 -0
- package/lib-es/bridge/signOperation.js +78 -0
- package/lib-es/bridge/signOperation.js.map +1 -0
- package/lib-es/bridge/synchronization.d.ts +5 -0
- package/lib-es/bridge/synchronization.d.ts.map +1 -0
- package/lib-es/bridge/synchronization.js +55 -0
- package/lib-es/bridge/synchronization.js.map +1 -0
- package/lib-es/bridge/transaction.d.ts +14 -0
- package/lib-es/bridge/transaction.d.ts.map +1 -0
- package/lib-es/bridge/transaction.js +38 -0
- package/lib-es/bridge/transaction.js.map +1 -0
- package/lib-es/bridge/utils/addresses.d.ts +13 -0
- package/lib-es/bridge/utils/addresses.d.ts.map +1 -0
- package/lib-es/bridge/utils/addresses.js +11 -0
- package/lib-es/bridge/utils/addresses.js.map +1 -0
- package/lib-es/bridge/utils/misc.d.ts +15 -0
- package/lib-es/bridge/utils/misc.d.ts.map +1 -0
- package/lib-es/bridge/utils/misc.js +176 -0
- package/lib-es/bridge/utils/misc.js.map +1 -0
- package/lib-es/bridge/utils/misc.unit.test.d.ts +2 -0
- package/lib-es/bridge/utils/misc.unit.test.d.ts.map +1 -0
- package/lib-es/bridge/utils/misc.unit.test.js +228 -0
- package/lib-es/bridge/utils/misc.unit.test.js.map +1 -0
- package/lib-es/config.d.ts +14 -0
- package/lib-es/config.d.ts.map +1 -0
- package/lib-es/config.js +11 -0
- package/lib-es/config.js.map +1 -0
- package/lib-es/errors.d.ts +4 -0
- package/lib-es/errors.d.ts.map +1 -0
- package/lib-es/errors.js +3 -0
- package/lib-es/errors.js.map +1 -0
- package/lib-es/index.d.ts +4 -0
- package/lib-es/index.d.ts.map +1 -0
- package/lib-es/index.js +3 -0
- package/lib-es/index.js.map +1 -0
- package/lib-es/network/api.d.ts +11 -0
- package/lib-es/network/api.d.ts.map +1 -0
- package/lib-es/network/api.js +124 -0
- package/lib-es/network/api.js.map +1 -0
- package/lib-es/network/api.types.d.ts +168 -0
- package/lib-es/network/api.types.d.ts.map +1 -0
- package/lib-es/network/api.types.js +6 -0
- package/lib-es/network/api.types.js.map +1 -0
- package/lib-es/network/index.d.ts +3 -0
- package/lib-es/network/index.d.ts.map +1 -0
- package/lib-es/network/index.js +3 -0
- package/lib-es/network/index.js.map +1 -0
- package/lib-es/signer/getAddress.d.ts +6 -0
- package/lib-es/signer/getAddress.d.ts.map +1 -0
- package/lib-es/signer/getAddress.js +29 -0
- package/lib-es/signer/getAddress.js.map +1 -0
- package/lib-es/signer/index.d.ts +4 -0
- package/lib-es/signer/index.d.ts.map +1 -0
- package/lib-es/signer/index.js +4 -0
- package/lib-es/signer/index.js.map +1 -0
- package/lib-es/signer/signMessage.d.ts +12 -0
- package/lib-es/signer/signMessage.d.ts.map +1 -0
- package/lib-es/signer/signMessage.js +27 -0
- package/lib-es/signer/signMessage.js.map +1 -0
- package/lib-es/test/bot-deviceActions.d.ts +4 -0
- package/lib-es/test/bot-deviceActions.d.ts.map +1 -0
- package/lib-es/test/bot-deviceActions.js +45 -0
- package/lib-es/test/bot-deviceActions.js.map +1 -0
- package/lib-es/test/bot-specs.d.ts +7 -0
- package/lib-es/test/bot-specs.d.ts.map +1 -0
- package/lib-es/test/bot-specs.js +68 -0
- package/lib-es/test/bot-specs.js.map +1 -0
- package/lib-es/test/bridgeDatasetTest.d.ts +4 -0
- package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -0
- package/lib-es/test/bridgeDatasetTest.js +126 -0
- package/lib-es/test/bridgeDatasetTest.js.map +1 -0
- package/lib-es/test/cli.d.ts +15 -0
- package/lib-es/test/cli.d.ts.map +1 -0
- package/lib-es/test/cli.js +21 -0
- package/lib-es/test/cli.js.map +1 -0
- package/lib-es/test/index.d.ts +6 -0
- package/lib-es/test/index.d.ts.map +1 -0
- package/lib-es/test/index.js +6 -0
- package/lib-es/test/index.js.map +1 -0
- package/lib-es/types/bridge.d.ts +35 -0
- package/lib-es/types/bridge.d.ts.map +1 -0
- package/lib-es/types/bridge.js +2 -0
- package/lib-es/types/bridge.js.map +1 -0
- package/lib-es/types/index.d.ts +3 -0
- package/lib-es/types/index.d.ts.map +1 -0
- package/lib-es/types/index.js +3 -0
- package/lib-es/types/index.js.map +1 -0
- package/lib-es/types/signer.d.ts +14 -0
- package/lib-es/types/signer.d.ts.map +1 -0
- package/lib-es/types/signer.js +2 -0
- package/lib-es/types/signer.js.map +1 -0
- package/lib-es/utils.d.ts +8 -0
- package/lib-es/utils.d.ts.map +1 -0
- package/lib-es/utils.js +17 -0
- package/lib-es/utils.js.map +1 -0
- package/package.json +136 -0
- package/src/bridge/broadcast.ts +18 -0
- package/src/bridge/buildOptimisticOperation.ts +34 -0
- package/src/bridge/createTransaction.ts +13 -0
- package/src/bridge/deviceTransactionConfig.ts +57 -0
- package/src/bridge/estimateMaxSpendable.ts +50 -0
- package/src/bridge/getTransactionStatus.ts +56 -0
- package/src/bridge/index.ts +64 -0
- package/src/bridge/prepareTransaction.ts +60 -0
- package/src/bridge/signOperation.ts +91 -0
- package/src/bridge/synchronization.ts +55 -0
- package/src/bridge/transaction.ts +75 -0
- package/src/bridge/utils/addresses.ts +23 -0
- package/src/bridge/utils/misc.ts +274 -0
- package/src/bridge/utils/misc.unit.test.ts +237 -0
- package/src/config.ts +26 -0
- package/src/errors.ts +3 -0
- package/src/index.ts +4 -0
- package/src/network/api.ts +173 -0
- package/src/network/api.types.ts +180 -0
- package/src/network/index.ts +2 -0
- package/src/signer/getAddress.ts +27 -0
- package/src/signer/index.ts +4 -0
- package/src/signer/signMessage.ts +26 -0
- package/src/test/bot-deviceActions.ts +47 -0
- package/src/test/bot-specs.ts +82 -0
- package/src/test/bridgeDatasetTest.ts +134 -0
- package/src/test/cli.ts +38 -0
- package/src/test/index.ts +5 -0
- package/src/types/bridge.ts +49 -0
- package/src/types/index.ts +2 -0
- package/src/types/signer.ts +16 -0
- package/src/utils.ts +24 -0
- package/tsconfig.json +14 -0
package/.eslintrc.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
env: {
|
|
3
|
+
browser: true,
|
|
4
|
+
es6: true,
|
|
5
|
+
},
|
|
6
|
+
overrides: [
|
|
7
|
+
{
|
|
8
|
+
files: ["src/**/*.test.{ts,tsx}"],
|
|
9
|
+
env: {
|
|
10
|
+
"jest/globals": true,
|
|
11
|
+
},
|
|
12
|
+
plugins: ["jest"],
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
rules: {
|
|
16
|
+
"no-console": ["error", { allow: ["warn", "error"] }],
|
|
17
|
+
"@typescript-eslint/no-empty-function": "off",
|
|
18
|
+
"@typescript-eslint/no-explicit-any": "warn",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"entry": [
|
|
3
|
+
"src/api/index.ts",
|
|
4
|
+
"src/bridge/index.ts",
|
|
5
|
+
"src/bridge/deviceTransactionConfig.ts",
|
|
6
|
+
"src/datasets/dataset-1.ts",
|
|
7
|
+
"src/signer/index.ts",
|
|
8
|
+
"src/test/index.ts",
|
|
9
|
+
"src/index.ts"
|
|
10
|
+
],
|
|
11
|
+
"ignorePatterns": [
|
|
12
|
+
"**/node_modules/**",
|
|
13
|
+
"**/*.fixture.ts",
|
|
14
|
+
"**/*.mock.ts",
|
|
15
|
+
"**/*.test.{js,jsx,ts,tsx}"
|
|
16
|
+
],
|
|
17
|
+
"ignoreUnresolved": [
|
|
18
|
+
"jest-get-type",
|
|
19
|
+
"jest-matcher-utils",
|
|
20
|
+
"jest-message-util"
|
|
21
|
+
],
|
|
22
|
+
"ignoreUnimported": [
|
|
23
|
+
"src/network/index.ts",
|
|
24
|
+
"src/signer/signMessage.ts"
|
|
25
|
+
],
|
|
26
|
+
"ignoreUnused": [
|
|
27
|
+
"@ledgerhq/types-cryptoassets",
|
|
28
|
+
"ripple-address-codec",
|
|
29
|
+
"ripple-binary-codec"
|
|
30
|
+
]
|
|
31
|
+
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @ledgerhq/coin-stacks
|
|
2
|
+
|
|
3
|
+
## 0.1.1-next.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#8163](https://github.com/LedgerHQ/ledger-live/pull/8163) [`cab4737`](https://github.com/LedgerHQ/ledger-live/commit/cab4737345a646f93661992f1a68179280c904fc) Thanks [@Wozacosta](https://github.com/Wozacosta)! - support: move stacks to its own coin module
|
|
8
|
+
|
|
9
|
+
- Updated dependencies [[`5ce33a4`](https://github.com/LedgerHQ/ledger-live/commit/5ce33a417ecc87face54c1864aa49476c5f394b9), [`a52f6ae`](https://github.com/LedgerHQ/ledger-live/commit/a52f6ae3d49ea8daea42d9cdc24e9dd0d6d0f371), [`748cf14`](https://github.com/LedgerHQ/ledger-live/commit/748cf146b3e903172831e7e5ddbc29a3565c8932), [`61f8b03`](https://github.com/LedgerHQ/ledger-live/commit/61f8b033f710369171e277f5c0faede636207160)]:
|
|
10
|
+
- @ledgerhq/types-live@6.53.1-next.0
|
|
11
|
+
- @ledgerhq/coin-framework@0.19.1-next.0
|
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017-present Ledger https://www.ledger.com/
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
package/jest.config.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @type {import('ts-jest/dist/types').JestConfigWithTsJest} */
|
|
2
|
+
module.exports = {
|
|
3
|
+
collectCoverageFrom: ["src/**/*.ts"],
|
|
4
|
+
coverageDirectory: "coverage",
|
|
5
|
+
preset: "ts-jest",
|
|
6
|
+
testEnvironment: "node",
|
|
7
|
+
testPathIgnorePatterns: ["lib/", "lib-es/", ".integration.test.ts"]
|
|
8
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../src/bridge/broadcast.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAmB,WAAW,EAAE,MAAM,UAAU,CAAC;AAGxD,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,WAAW,CAU7D,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.broadcast = void 0;
|
|
16
|
+
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
17
|
+
const invariant_1 = __importDefault(require("invariant"));
|
|
18
|
+
const api_1 = require("../network/api");
|
|
19
|
+
const misc_1 = require("./utils/misc");
|
|
20
|
+
const broadcast = (_a) => __awaiter(void 0, [_a], void 0, function* ({ signedOperation: { operation, signature, rawData }, }) {
|
|
21
|
+
(0, invariant_1.default)(operation, "StacksOperation expected");
|
|
22
|
+
const tx = yield (0, misc_1.getTxToBroadcast)(operation, signature, rawData !== null && rawData !== void 0 ? rawData : {});
|
|
23
|
+
const hash = yield (0, api_1.broadcastTx)(tx);
|
|
24
|
+
const result = (0, operation_1.patchOperationWithHash)(operation, hash);
|
|
25
|
+
return result;
|
|
26
|
+
});
|
|
27
|
+
exports.broadcast = broadcast;
|
|
28
|
+
//# sourceMappingURL=broadcast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/bridge/broadcast.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAA4E;AAE5E,0DAAkC;AAClC,wCAA6C;AAE7C,uCAAgD;AAEzC,MAAM,SAAS,GAA4C,KAE/D,EAAE,4CAFoE,EACvE,eAAe,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GACnD;IACC,IAAA,mBAAS,EAAC,SAA4B,EAAE,0BAA0B,CAAC,CAAC;IACpE,MAAM,EAAE,GAAG,MAAM,IAAA,uBAAgB,EAAC,SAA4B,EAAE,SAAS,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC;IAE1F,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAW,EAAC,EAAE,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAA,kCAAsB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEvD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA,CAAC;AAVW,QAAA,SAAS,aAUpB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Account, OperationType } from "@ledgerhq/types-live";
|
|
2
|
+
import { StacksOperation, Transaction } from "../types";
|
|
3
|
+
export declare const buildOptimisticOperation: (account: Account, transaction: Transaction, operatioinType?: OperationType) => StacksOperation;
|
|
4
|
+
//# sourceMappingURL=buildOptimisticOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildOptimisticOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGxD,eAAO,MAAM,wBAAwB,YAC1B,OAAO,eACH,WAAW,mBACR,aAAa,KAC5B,eAuBF,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildOptimisticOperation = void 0;
|
|
7
|
+
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
8
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
|
+
const misc_1 = require("./utils/misc");
|
|
10
|
+
const buildOptimisticOperation = (account, transaction, operatioinType = "OUT") => {
|
|
11
|
+
var _a;
|
|
12
|
+
const hash = "";
|
|
13
|
+
const { id: accountId } = account;
|
|
14
|
+
const { address } = (0, misc_1.getAddress)(account);
|
|
15
|
+
return {
|
|
16
|
+
id: (0, operation_1.encodeOperationId)(accountId, hash, operatioinType),
|
|
17
|
+
hash,
|
|
18
|
+
type: "OUT",
|
|
19
|
+
senders: [address],
|
|
20
|
+
recipients: [transaction.recipient],
|
|
21
|
+
accountId,
|
|
22
|
+
value: transaction.amount.plus(transaction.fee || 0),
|
|
23
|
+
fee: transaction.fee || new bignumber_js_1.default(0),
|
|
24
|
+
blockHash: null,
|
|
25
|
+
blockHeight: null,
|
|
26
|
+
date: new Date(),
|
|
27
|
+
transactionSequenceNumber: ((_a = transaction.nonce) === null || _a === void 0 ? void 0 : _a.toNumber()) || 0,
|
|
28
|
+
extra: {
|
|
29
|
+
memo: transaction.memo,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
exports.buildOptimisticOperation = buildOptimisticOperation;
|
|
34
|
+
//# sourceMappingURL=buildOptimisticOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAuE;AAEvE,gEAAqC;AAErC,uCAA0C;AAEnC,MAAM,wBAAwB,GAAG,CACtC,OAAgB,EAChB,WAAwB,EACxB,iBAAgC,KAAK,EACpB,EAAE;;IACnB,MAAM,IAAI,GAAG,EAAE,CAAC;IAEhB,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,iBAAU,EAAC,OAAO,CAAC,CAAC;IAExC,OAAO;QACL,EAAE,EAAE,IAAA,6BAAiB,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC;QACtD,IAAI;QACJ,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,CAAC,OAAO,CAAC;QAClB,UAAU,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;QACnC,SAAS;QACT,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QACpD,GAAG,EAAE,WAAW,CAAC,GAAG,IAAI,IAAI,sBAAS,CAAC,CAAC,CAAC;QACxC,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,yBAAyB,EAAE,CAAA,MAAA,WAAW,CAAC,KAAK,0CAAE,QAAQ,EAAE,KAAI,CAAC;QAC7D,KAAK,EAAE;YACL,IAAI,EAAE,WAAW,CAAC,IAAI;SACvB;KACF,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,wBAAwB,4BA2BnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/createTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAO5E,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createTransaction = void 0;
|
|
7
|
+
const transactions_1 = require("@stacks/transactions");
|
|
8
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
|
+
const createTransaction = () => ({
|
|
10
|
+
family: "stacks",
|
|
11
|
+
recipient: "",
|
|
12
|
+
amount: new bignumber_js_1.default(0),
|
|
13
|
+
network: "mainnet",
|
|
14
|
+
anchorMode: transactions_1.AnchorMode.Any,
|
|
15
|
+
useAllAmount: false,
|
|
16
|
+
});
|
|
17
|
+
exports.createTransaction = createTransaction;
|
|
18
|
+
//# sourceMappingURL=createTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTransaction.js","sourceRoot":"","sources":["../../src/bridge/createTransaction.ts"],"names":[],"mappings":";;;;;;AACA,uDAAkD;AAClD,gEAAqC;AAG9B,MAAM,iBAAiB,GAAoD,GAAG,EAAE,CAAC,CAAC;IACvF,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,yBAAU,CAAC,GAAG;IAC1B,YAAY,EAAE,KAAK;CACpB,CAAC,CAAC;AAPU,QAAA,iBAAiB,qBAO3B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { CommonDeviceTransactionField } from "@ledgerhq/coin-framework/transaction/common";
|
|
2
|
+
import type { Account, AccountLike } from "@ledgerhq/types-live";
|
|
3
|
+
import { BigNumber } from "bignumber.js";
|
|
4
|
+
import type { Transaction, TransactionStatus } from "../types";
|
|
5
|
+
export type ExtraDeviceTransactionField = {
|
|
6
|
+
type: "stacks.memo";
|
|
7
|
+
label: string;
|
|
8
|
+
value: string;
|
|
9
|
+
} | {
|
|
10
|
+
type: "stacks.extendedAmount";
|
|
11
|
+
label: string;
|
|
12
|
+
value: BigNumber;
|
|
13
|
+
};
|
|
14
|
+
export type DeviceTransactionField = CommonDeviceTransactionField | ExtraDeviceTransactionField;
|
|
15
|
+
declare function getDeviceTransactionConfig(input: {
|
|
16
|
+
account: AccountLike;
|
|
17
|
+
parentAccount: Account | null | undefined;
|
|
18
|
+
transaction: Transaction;
|
|
19
|
+
status: TransactionStatus;
|
|
20
|
+
}): Array<DeviceTransactionField>;
|
|
21
|
+
export default getDeviceTransactionConfig;
|
|
22
|
+
//# sourceMappingURL=deviceTransactionConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEN,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG,2BAA2B,CAAC;AAEhG,iBAAS,0BAA0B,CAAC,KAAK,EAAE;IACzC,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,KAAK,CAAC,sBAAsB,CAAC,CA8BhC;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
4
|
+
function getDeviceTransactionConfig(input) {
|
|
5
|
+
const fields = [];
|
|
6
|
+
fields.push({
|
|
7
|
+
type: "stacks.extendedAmount",
|
|
8
|
+
label: "Amount",
|
|
9
|
+
value: input.transaction.amount,
|
|
10
|
+
});
|
|
11
|
+
fields.push({
|
|
12
|
+
type: "stacks.extendedAmount",
|
|
13
|
+
label: "Fees",
|
|
14
|
+
value: input.transaction.fee ? input.transaction.fee : new bignumber_js_1.BigNumber(0),
|
|
15
|
+
});
|
|
16
|
+
fields.push({
|
|
17
|
+
type: "address",
|
|
18
|
+
label: "Recipient",
|
|
19
|
+
address: input.transaction.recipient,
|
|
20
|
+
});
|
|
21
|
+
fields.push({
|
|
22
|
+
type: "text",
|
|
23
|
+
label: "Nonce",
|
|
24
|
+
value: input.transaction.nonce ? input.transaction.nonce.toFixed() : "0",
|
|
25
|
+
});
|
|
26
|
+
fields.push({
|
|
27
|
+
type: "stacks.memo",
|
|
28
|
+
label: "Memo",
|
|
29
|
+
value: input.transaction.memo || "",
|
|
30
|
+
});
|
|
31
|
+
return fields;
|
|
32
|
+
}
|
|
33
|
+
exports.default = getDeviceTransactionConfig;
|
|
34
|
+
//# sourceMappingURL=deviceTransactionConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../../src/bridge/deviceTransactionConfig.ts"],"names":[],"mappings":";;AAEA,+CAAyC;AAiBzC,SAAS,0BAA0B,CAAC,KAKnC;IACC,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;KAChC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,CAAC,CAAC;KACxE,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS;KACrC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG;KACzE,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;KACpC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimateMaxSpendable.d.ts","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAUrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,sBAAsB,CAkCnF,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.estimateMaxSpendable = void 0;
|
|
16
|
+
const index_1 = require("@ledgerhq/coin-framework/account/index");
|
|
17
|
+
const abandonseed_1 = require("@ledgerhq/cryptoassets/abandonseed");
|
|
18
|
+
const network_1 = require("@stacks/network");
|
|
19
|
+
const transactions_1 = require("@stacks/transactions");
|
|
20
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
21
|
+
const invariant_1 = __importDefault(require("invariant"));
|
|
22
|
+
const api_types_1 = require("../network/api.types");
|
|
23
|
+
const createTransaction_1 = require("./createTransaction");
|
|
24
|
+
const estimateMaxSpendable = (_a) => __awaiter(void 0, [_a], void 0, function* ({ account, parentAccount, transaction, }) {
|
|
25
|
+
const mainAccount = (0, index_1.getMainAccount)(account, parentAccount);
|
|
26
|
+
const { spendableBalance, xpub } = mainAccount;
|
|
27
|
+
(0, invariant_1.default)(xpub, "xpub is required");
|
|
28
|
+
const dummyTx = Object.assign(Object.assign(Object.assign({}, (0, createTransaction_1.createTransaction)(account)), transaction), { recipient: (0, abandonseed_1.getAbandonSeedAddress)(mainAccount.currency.id), useAllAmount: true });
|
|
29
|
+
// Compute fees
|
|
30
|
+
const { recipient, anchorMode, memo, amount } = dummyTx;
|
|
31
|
+
const network = api_types_1.StacksNetwork[dummyTx.network] || new network_1.StacksMainnet();
|
|
32
|
+
const options = {
|
|
33
|
+
recipient,
|
|
34
|
+
anchorMode,
|
|
35
|
+
memo,
|
|
36
|
+
network,
|
|
37
|
+
publicKey: xpub,
|
|
38
|
+
amount: amount.toFixed(),
|
|
39
|
+
};
|
|
40
|
+
const tx = yield (0, transactions_1.makeUnsignedSTXTokenTransfer)(options);
|
|
41
|
+
const [feeEst] = yield (0, transactions_1.estimateTransaction)(tx.payload);
|
|
42
|
+
const diff = spendableBalance.minus(new bignumber_js_1.default(feeEst.fee));
|
|
43
|
+
return diff.gte(0) ? diff : new bignumber_js_1.default(0);
|
|
44
|
+
});
|
|
45
|
+
exports.estimateMaxSpendable = estimateMaxSpendable;
|
|
46
|
+
//# sourceMappingURL=estimateMaxSpendable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimateMaxSpendable.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAAwE;AACxE,oEAA2E;AAE3E,6CAAgD;AAChD,uDAI8B;AAC9B,gEAAqC;AACrC,0DAAkC;AAClC,oDAAqD;AAErD,2DAAwD;AAEjD,MAAM,oBAAoB,GAAuD,KAIrF,EAAE,4CAJ0F,EAC7F,OAAO,EACP,aAAa,EACb,WAAW,GACZ;IACC,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IAC/C,IAAA,mBAAS,EAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAEpC,MAAM,OAAO,iDACR,IAAA,qCAAiB,EAAC,OAAO,CAAC,GAC1B,WAAW,KACd,SAAS,EAAE,IAAA,mCAAqB,EAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EACzD,YAAY,EAAE,IAAI,GACnB,CAAC;IACF,eAAe;IACf,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,OAAO,GAAG,yBAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,uBAAa,EAAE,CAAC;IAEtE,MAAM,OAAO,GAAiC;QAC5C,SAAS;QACT,UAAU;QACV,IAAI;QACJ,OAAO;QACP,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;KACzB,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,IAAA,2CAA4B,EAAC,OAAO,CAAC,CAAC;IAEvD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAA,kCAAmB,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,sBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAA,CAAC;AAlCW,QAAA,oBAAoB,wBAkC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAqB,MAAM,UAAU,CAAC;AAI1D,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,sBAAsB,CAwCnF,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.getTransactionStatus = void 0;
|
|
16
|
+
const errors_1 = require("@ledgerhq/errors");
|
|
17
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
18
|
+
const errors_2 = require("../errors");
|
|
19
|
+
const addresses_1 = require("./utils/addresses");
|
|
20
|
+
const misc_1 = require("./utils/misc");
|
|
21
|
+
const getTransactionStatus = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
const errors = {};
|
|
23
|
+
const warnings = {};
|
|
24
|
+
const { spendableBalance } = account;
|
|
25
|
+
const { address } = (0, misc_1.getAddress)(account);
|
|
26
|
+
const { memo, recipient, useAllAmount, fee } = transaction;
|
|
27
|
+
let { amount } = transaction;
|
|
28
|
+
if (!recipient) {
|
|
29
|
+
errors.recipient = new errors_1.RecipientRequired();
|
|
30
|
+
}
|
|
31
|
+
else if (!(0, addresses_1.validateAddress)(recipient).isValid) {
|
|
32
|
+
errors.recipient = new errors_1.InvalidAddress("", {
|
|
33
|
+
currencyName: account.currency.name,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
else if (address === recipient) {
|
|
37
|
+
errors.recipient = new errors_1.InvalidAddressBecauseDestinationIsAlsoSource();
|
|
38
|
+
}
|
|
39
|
+
else if (!fee || fee.eq(0)) {
|
|
40
|
+
errors.gas = new errors_1.FeeNotLoaded();
|
|
41
|
+
}
|
|
42
|
+
const estimatedFees = fee || new bignumber_js_1.default(0);
|
|
43
|
+
const totalSpent = useAllAmount ? spendableBalance : amount.plus(estimatedFees);
|
|
44
|
+
amount = useAllAmount ? spendableBalance.minus(estimatedFees) : amount;
|
|
45
|
+
if (amount.lte(0))
|
|
46
|
+
errors.amount = new errors_1.AmountRequired();
|
|
47
|
+
if (totalSpent.gt(spendableBalance))
|
|
48
|
+
errors.amount = new errors_1.NotEnoughBalance();
|
|
49
|
+
if (memo && memo.length > 34)
|
|
50
|
+
errors.transaction = new errors_2.StacksMemoTooLong();
|
|
51
|
+
return {
|
|
52
|
+
errors,
|
|
53
|
+
warnings,
|
|
54
|
+
estimatedFees,
|
|
55
|
+
amount,
|
|
56
|
+
totalSpent,
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
exports.getTransactionStatus = getTransactionStatus;
|
|
60
|
+
//# sourceMappingURL=getTransactionStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAO0B;AAE1B,gEAAqC;AACrC,sCAA8C;AAE9C,iDAAoD;AACpD,uCAA0C;AAEnC,MAAM,oBAAoB,GAAuD,CACtF,OAAO,EACP,WAAW,EACX,EAAE;IACF,MAAM,MAAM,GAAgC,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAkC,EAAE,CAAC;IAEnD,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,iBAAU,EAAC,OAAO,CAAC,CAAC;IACxC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;IAC3D,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;IAE7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,SAAS,GAAG,IAAI,0BAAiB,EAAE,CAAC;IAC7C,CAAC;SAAM,IAAI,CAAC,IAAA,2BAAe,EAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,CAAC,SAAS,GAAG,IAAI,uBAAc,CAAC,EAAE,EAAE;YACxC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;SACpC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,GAAG,IAAI,qDAA4C,EAAE,CAAC;IACxE,CAAC;SAAM,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,GAAG,IAAI,qBAAY,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,aAAa,GAAG,GAAG,IAAI,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChF,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEvE,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,MAAM,GAAG,IAAI,uBAAc,EAAE,CAAC;IACxD,IAAI,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC;QAAE,MAAM,CAAC,MAAM,GAAG,IAAI,yBAAgB,EAAE,CAAC;IAC5E,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,MAAM,CAAC,WAAW,GAAG,IAAI,0BAAiB,EAAE,CAAC;IAE3E,OAAO;QACL,MAAM;QACN,QAAQ;QACR,aAAa;QACb,MAAM;QACN,UAAU;KACX,CAAC;AACJ,CAAC,CAAA,CAAC;AAxCW,QAAA,oBAAoB,wBAwC/B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SignerContext } from "@ledgerhq/coin-framework/signer";
|
|
2
|
+
import type { Account, AccountBridge, CurrencyBridge } from "@ledgerhq/types-live";
|
|
3
|
+
import type { Transaction, StacksSigner } from "../types";
|
|
4
|
+
import { estimateMaxSpendable } from "./estimateMaxSpendable";
|
|
5
|
+
import { prepareTransaction } from "./prepareTransaction";
|
|
6
|
+
export declare function createBridges(signerContext: SignerContext<StacksSigner>): {
|
|
7
|
+
currencyBridge: CurrencyBridge;
|
|
8
|
+
accountBridge: AccountBridge<Transaction, Account, import("@ledgerhq/types-live").TransactionStatusCommon, import("@ledgerhq/types-live").AccountRaw>;
|
|
9
|
+
};
|
|
10
|
+
export { prepareTransaction, estimateMaxSpendable };
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,KAAK,EAAE,WAAW,EAAqB,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA4C1D,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC;;;EAKvE;AACD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.estimateMaxSpendable = exports.prepareTransaction = void 0;
|
|
7
|
+
exports.createBridges = createBridges;
|
|
8
|
+
const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
|
|
9
|
+
const index_1 = __importDefault(require("../signer/index"));
|
|
10
|
+
const getAddressWrapper_1 = __importDefault(require("@ledgerhq/coin-framework/bridge/getAddressWrapper"));
|
|
11
|
+
const jsHelpers_2 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
|
|
12
|
+
const getTransactionStatus_1 = require("./getTransactionStatus");
|
|
13
|
+
const estimateMaxSpendable_1 = require("./estimateMaxSpendable");
|
|
14
|
+
Object.defineProperty(exports, "estimateMaxSpendable", { enumerable: true, get: function () { return estimateMaxSpendable_1.estimateMaxSpendable; } });
|
|
15
|
+
const prepareTransaction_1 = require("./prepareTransaction");
|
|
16
|
+
Object.defineProperty(exports, "prepareTransaction", { enumerable: true, get: function () { return prepareTransaction_1.prepareTransaction; } });
|
|
17
|
+
const createTransaction_1 = require("./createTransaction");
|
|
18
|
+
const synchronization_1 = require("./synchronization");
|
|
19
|
+
const signOperation_1 = require("./signOperation");
|
|
20
|
+
const broadcast_1 = require("./broadcast");
|
|
21
|
+
function buildCurrencyBridge(signerContext) {
|
|
22
|
+
const getAddress = (0, index_1.default)(signerContext);
|
|
23
|
+
const scanAccounts = (0, jsHelpers_1.makeScanAccounts)({
|
|
24
|
+
getAccountShape: synchronization_1.getAccountShape,
|
|
25
|
+
getAddressFn: (0, getAddressWrapper_1.default)(getAddress),
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
preload: () => Promise.resolve({}),
|
|
29
|
+
hydrate: () => { },
|
|
30
|
+
scanAccounts,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const sync = (0, jsHelpers_1.makeSync)({ getAccountShape: synchronization_1.getAccountShape });
|
|
34
|
+
function buildAccountBridge(signerContext) {
|
|
35
|
+
const getAddress = (0, index_1.default)(signerContext);
|
|
36
|
+
const receive = (0, jsHelpers_1.makeAccountBridgeReceive)((0, getAddressWrapper_1.default)(getAddress));
|
|
37
|
+
const signOperation = (0, signOperation_1.buildSignOperation)(signerContext);
|
|
38
|
+
return {
|
|
39
|
+
estimateMaxSpendable: estimateMaxSpendable_1.estimateMaxSpendable,
|
|
40
|
+
createTransaction: createTransaction_1.createTransaction,
|
|
41
|
+
updateTransaction: jsHelpers_2.defaultUpdateTransaction,
|
|
42
|
+
getTransactionStatus: getTransactionStatus_1.getTransactionStatus,
|
|
43
|
+
prepareTransaction: prepareTransaction_1.prepareTransaction,
|
|
44
|
+
sync,
|
|
45
|
+
receive,
|
|
46
|
+
signOperation,
|
|
47
|
+
broadcast: broadcast_1.broadcast,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function createBridges(signerContext) {
|
|
51
|
+
return {
|
|
52
|
+
currencyBridge: buildCurrencyBridge(signerContext),
|
|
53
|
+
accountBridge: buildAccountBridge(signerContext),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":";;;;;;AAyDA,sCAKC;AA9DD,yEAImD;AACnD,4DAAuC;AACvC,0GAAkF;AAGlF,yEAAqF;AAErF,iEAA8D;AAC9D,iEAA8D;AAmDjC,qGAnDpB,2CAAoB,OAmDoB;AAlDjD,6DAA0D;AAkDjD,mGAlDA,uCAAkB,OAkDA;AAjD3B,2DAAwD;AACxD,uDAAoD;AACpD,mDAAqD;AACrD,2CAAwC;AAExC,SAAS,mBAAmB,CAAC,aAA0C;IACrE,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC;QACpC,eAAe,EAAf,iCAAe;QACf,YAAY,EAAE,IAAA,2BAAiB,EAAC,UAAU,CAAC;KAC5C,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,EAAE,eAAe,EAAf,iCAAe,EAAE,CAAC,CAAC;AAE3C,SAAS,kBAAkB,CACzB,aAA0C;IAE1C,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAA,oCAAwB,EAAC,IAAA,2BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;IAExE,MAAM,aAAa,GAAG,IAAA,kCAAkB,EAAC,aAAa,CAAC,CAAC;IAExD,OAAO;QACL,oBAAoB,EAApB,2CAAoB;QACpB,iBAAiB,EAAjB,qCAAiB;QACjB,iBAAiB,EAAE,oCAAwB;QAC3C,oBAAoB,EAApB,2CAAoB;QACpB,kBAAkB,EAAlB,uCAAkB;QAClB,IAAI;QACJ,OAAO;QACP,aAAa;QACb,SAAS,EAAT,qBAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,aAA0C;IACtE,OAAO;QACL,cAAc,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAClD,aAAa,EAAE,kBAAkB,CAAC,aAAa,CAAC;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAarD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAyC/E,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.prepareTransaction = void 0;
|
|
16
|
+
const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
|
|
17
|
+
const network_1 = require("@stacks/network");
|
|
18
|
+
const transactions_1 = require("@stacks/transactions");
|
|
19
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
20
|
+
const c32check_1 = require("c32check");
|
|
21
|
+
const invariant_1 = __importDefault(require("invariant"));
|
|
22
|
+
const api_types_1 = require("../network/api.types");
|
|
23
|
+
const addresses_1 = require("./utils/addresses");
|
|
24
|
+
const misc_1 = require("./utils/misc");
|
|
25
|
+
const prepareTransaction = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const { spendableBalance, pendingOperations, xpub } = account;
|
|
27
|
+
const { recipient, useAllAmount } = transaction;
|
|
28
|
+
(0, invariant_1.default)(xpub, "xpub is required");
|
|
29
|
+
const patch = {};
|
|
30
|
+
if (xpub && recipient && (0, addresses_1.validateAddress)(recipient).isValid) {
|
|
31
|
+
const { anchorMode, memo, amount } = transaction;
|
|
32
|
+
const network = api_types_1.StacksNetwork[transaction.network] || new network_1.StacksMainnet();
|
|
33
|
+
// Check if recipient is valid
|
|
34
|
+
const options = {
|
|
35
|
+
recipient,
|
|
36
|
+
anchorMode,
|
|
37
|
+
memo,
|
|
38
|
+
network,
|
|
39
|
+
publicKey: xpub,
|
|
40
|
+
amount: amount.toFixed(),
|
|
41
|
+
};
|
|
42
|
+
const tx = yield (0, transactions_1.makeUnsignedSTXTokenTransfer)(options);
|
|
43
|
+
const addressVersion = network.version === transactions_1.TransactionVersion.Mainnet
|
|
44
|
+
? transactions_1.AddressVersion.MainnetSingleSig
|
|
45
|
+
: transactions_1.AddressVersion.TestnetSingleSig;
|
|
46
|
+
const senderAddress = (0, c32check_1.c32address)(addressVersion, tx.auth.spendingCondition.signer);
|
|
47
|
+
const [fee] = yield (0, transactions_1.estimateTransaction)(tx.payload);
|
|
48
|
+
patch.fee = new bignumber_js_1.default(fee.fee);
|
|
49
|
+
patch.nonce = yield (0, misc_1.findNextNonce)(senderAddress, pendingOperations);
|
|
50
|
+
if (useAllAmount)
|
|
51
|
+
patch.amount = spendableBalance.minus(patch.fee);
|
|
52
|
+
}
|
|
53
|
+
return (0, jsHelpers_1.defaultUpdateTransaction)(transaction, patch);
|
|
54
|
+
});
|
|
55
|
+
exports.prepareTransaction = prepareTransaction;
|
|
56
|
+
//# sourceMappingURL=prepareTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yEAAqF;AAErF,6CAAgD;AAChD,uDAM8B;AAC9B,gEAAqC;AACrC,uCAAsC;AACtC,0DAAkC;AAClC,oDAAqD;AAErD,iDAAoD;AACpD,uCAA6C;AAEtC,MAAM,kBAAkB,GAAqD,CAClF,OAAO,EACP,WAAW,EACX,EAAE;IACF,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IAChD,IAAA,mBAAS,EAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,IAAI,IAAI,IAAI,SAAS,IAAI,IAAA,2BAAe,EAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5D,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;QAEjD,MAAM,OAAO,GAAG,yBAAa,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,uBAAa,EAAE,CAAC;QAE1E,8BAA8B;QAC9B,MAAM,OAAO,GAAiC;YAC5C,SAAS;YACT,UAAU;YACV,IAAI;YACJ,OAAO;YACP,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;SACzB,CAAC;QAEF,MAAM,EAAE,GAAG,MAAM,IAAA,2CAA4B,EAAC,OAAO,CAAC,CAAC;QAEvD,MAAM,cAAc,GAClB,OAAO,CAAC,OAAO,KAAK,iCAAkB,CAAC,OAAO;YAC5C,CAAC,CAAC,6BAAc,CAAC,gBAAgB;YACjC,CAAC,CAAC,6BAAc,CAAC,gBAAgB,CAAC;QACtC,MAAM,aAAa,GAAG,IAAA,qBAAU,EAAC,cAAc,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAkB,CAAC,MAAM,CAAC,CAAC;QAEpF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAA,kCAAmB,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAEpD,KAAK,CAAC,GAAG,GAAG,IAAI,sBAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,KAAK,CAAC,KAAK,GAAG,MAAM,IAAA,oBAAa,EAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAEpE,IAAI,YAAY;YAAE,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,IAAA,oCAAwB,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC,CAAA,CAAC;AAzCW,QAAA,kBAAkB,sBAyC7B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SignerContext } from "@ledgerhq/coin-framework/lib/signer";
|
|
2
|
+
import { AccountBridge } from "@ledgerhq/types-live";
|
|
3
|
+
import { StacksSigner, Transaction } from "../types";
|
|
4
|
+
export declare const buildSignOperation: (signerContext: SignerContext<StacksSigner>) => AccountBridge<Transaction>["signOperation"];
|
|
5
|
+
//# sourceMappingURL=signOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKrD,eAAO,MAAM,kBAAkB,kBACb,aAAa,CAAC,YAAY,CAAC,KAAG,aAAa,CAAC,WAAW,CAAC,CAAC,eAAe,CA6EpF,CAAC"}
|