diff --git a/package-lock.json b/package-lock.json
index d5da87790..ab8679dc6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,11 +11,10 @@
"@ledgerhq/hw-transport-webusb": "^6.27.13",
"@phosphor-icons/react": "^2.0.10",
"@react-spring/web": "^9.6.1",
- "@secretkeylabs/xverse-core": "6.0.1",
- "@stacks/connect": "^6.10.2",
- "@stacks/encryption": "4.3.5",
+ "@secretkeylabs/xverse-core": "7.0.0",
+ "@stacks/connect": "7.4.1",
"@stacks/stacks-blockchain-api-types": "6.1.1",
- "@stacks/transactions": "4.3.8",
+ "@stacks/transactions": "6.9.0",
"@tanstack/query-sync-storage-persister": "^4.29.1",
"@tanstack/react-query": "^4.29.3",
"@tanstack/react-query-devtools": "^4.29.3",
@@ -1297,7 +1296,7 @@
"url": "https://paulmillr.com/funding/"
}
},
- "node_modules/@noble/curves/node_modules/@noble/hashes": {
+ "node_modules/@noble/hashes": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
"integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==",
@@ -1308,17 +1307,6 @@
"url": "https://paulmillr.com/funding/"
}
},
- "node_modules/@noble/hashes": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz",
- "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==",
- "engines": {
- "node": ">= 16"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
- },
"node_modules/@noble/secp256k1": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz",
@@ -1677,41 +1665,58 @@
}
},
"node_modules/@scure/bip32": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.2.tgz",
- "integrity": "sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.3.tgz",
+ "integrity": "sha512-dSH3+LCWONlSNQuF34xZrG6Xas7tp2jSSqHb/pMfXWM0vKE4JZOtK3uJfoWouUVW5IGlls75HkXmYLldZ8ySgQ==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
"dependencies": {
- "@noble/curves": "~1.2.0",
- "@noble/hashes": "~1.3.2",
- "@scure/base": "~1.1.2"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
+ "@noble/hashes": "~1.1.3",
+ "@noble/secp256k1": "~1.7.0",
+ "@scure/base": "~1.1.0"
}
},
"node_modules/@scure/bip32/node_modules/@noble/hashes": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
- "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==",
- "engines": {
- "node": ">= 16"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
+ "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ]
},
"node_modules/@scure/bip39": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz",
- "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz",
+ "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
"dependencies": {
- "@noble/hashes": "~1.3.0",
+ "@noble/hashes": "~1.1.1",
"@scure/base": "~1.1.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
}
},
+ "node_modules/@scure/bip39/node_modules/@noble/hashes": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
+ "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ]
+ },
"node_modules/@scure/btc-signer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@scure/btc-signer/-/btc-signer-1.1.0.tgz",
@@ -1727,9 +1732,9 @@
}
},
"node_modules/@secretkeylabs/xverse-core": {
- "version": "6.0.1",
- "resolved": "https://npm.pkg.github.com/download/@secretkeylabs/xverse-core/6.0.1/32e8e3439cf018882e3b7cb3f65504921dd1aac3",
- "integrity": "sha512-T5E3cTJT06NsvHrAN9EZAP9gkWD+gYwPwNUXhaKTOj1YxkAUOTREyhVkNmlqbTLOHx8UtxHzcjOZju40bqOLkA==",
+ "version": "7.0.0",
+ "resolved": "https://npm.pkg.github.com/download/@secretkeylabs/xverse-core/7.0.0/a9d4470c0bee31b2b751b0f2a3e064d51453ddd4",
+ "integrity": "sha512-8z5g5dHFin0d9695EwI0t6a/Ji7vzUenCq1AHpTtsj5Z1/SlH6Oa7p95fyJ1usBH99M5NQAYFMBGkjOcNE+jQw==",
"license": "ISC",
"dependencies": {
"@bitcoinerlab/secp256k1": "^1.0.2",
@@ -1737,12 +1742,13 @@
"@noble/secp256k1": "^1.7.1",
"@scure/base": "^1.1.1",
"@scure/btc-signer": "1.1.0",
- "@stacks/auth": "^6.5.1",
- "@stacks/encryption": "6.1.1",
- "@stacks/network": "4.3.5",
- "@stacks/storage": "^6.0.0",
- "@stacks/transactions": "4.3.5",
- "@stacks/wallet-sdk": "^5.0.2",
+ "@stacks/auth": "^6.9.0",
+ "@stacks/connect": "^7.4.1",
+ "@stacks/encryption": "6.9.0",
+ "@stacks/network": "6.8.1",
+ "@stacks/storage": "^6.9.0",
+ "@stacks/transactions": "6.9.0",
+ "@stacks/wallet-sdk": "^6.9.0",
"@zondax/ledger-stacks": "^1.0.4",
"axios": "1.6.2",
"base64url": "^3.0.1",
@@ -1772,138 +1778,10 @@
"react": ">18.0.0"
}
},
- "node_modules/@secretkeylabs/xverse-core/node_modules/@noble/hashes": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
- "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ]
- },
- "node_modules/@secretkeylabs/xverse-core/node_modules/@scure/bip39": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz",
- "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "@noble/hashes": "~1.1.1",
- "@scure/base": "~1.1.0"
- }
- },
- "node_modules/@secretkeylabs/xverse-core/node_modules/@stacks/encryption": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-6.1.1.tgz",
- "integrity": "sha512-tS0Foo83h1ixwxCAbFh3uX0Hty3b3EFcqOb62udgBFlDmsjBD9Pld8t+ApKLTwiad6YhRu6rW+hDAJmhYQToMw==",
- "dependencies": {
- "@noble/hashes": "1.1.5",
- "@noble/secp256k1": "1.7.1",
- "@scure/bip39": "1.1.0",
- "@stacks/common": "^6.0.0",
- "@types/node": "^18.0.4",
- "base64-js": "^1.5.1",
- "bs58": "^5.0.0",
- "ripemd160-min": "^0.0.6",
- "varuint-bitcoin": "^1.1.2"
- }
- },
- "node_modules/@secretkeylabs/xverse-core/node_modules/@stacks/network": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-4.3.5.tgz",
- "integrity": "sha512-TC4+AkuT6qi3MoEGxTftA+4BNp99QvGnI+qtKQkoA1m0KDr8b9hSBUhugJHRhQbWuo7D6q0+JagYEGxLID29Kw==",
- "dependencies": {
- "@stacks/common": "^4.3.5",
- "cross-fetch": "^3.1.5"
- }
- },
- "node_modules/@secretkeylabs/xverse-core/node_modules/@stacks/network/node_modules/@stacks/common": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
- "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
- "dependencies": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4",
- "buffer": "^6.0.3"
- }
- },
- "node_modules/@secretkeylabs/xverse-core/node_modules/@stacks/transactions": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-4.3.5.tgz",
- "integrity": "sha512-tTkuVlIfpD6QKF0vHoJvUZ2h3Ua82l4HhxzzVs3ZKr5M9WYULZQo1RMaMloJLgUMxsexDZ1Mib6ADiXgBefrBQ==",
- "dependencies": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@stacks/common": "^4.3.5",
- "@stacks/network": "^4.3.5",
- "@types/node": "^18.0.4",
- "@types/sha.js": "^2.4.0",
- "c32check": "^1.1.3",
- "lodash.clonedeep": "^4.5.0",
- "ripemd160-min": "^0.0.6",
- "sha.js": "^2.4.11",
- "smart-buffer": "^4.1.0"
- }
- },
- "node_modules/@secretkeylabs/xverse-core/node_modules/@stacks/transactions/node_modules/@stacks/common": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
- "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
- "dependencies": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4",
- "buffer": "^6.0.3"
- }
- },
- "node_modules/@secretkeylabs/xverse-core/node_modules/@stacks/transactions/node_modules/c32check": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz",
- "integrity": "sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==",
- "dependencies": {
- "base-x": "^3.0.8",
- "buffer": "^5.6.0",
- "cross-sha256": "^1.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@secretkeylabs/xverse-core/node_modules/@stacks/transactions/node_modules/c32check/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/@secretkeylabs/xverse-core/node_modules/base-x": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
- "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- }
+ "node_modules/@secretkeylabs/xverse-core/node_modules/@types/node": {
+ "version": "11.11.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz",
+ "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ=="
},
"node_modules/@secretkeylabs/xverse-core/node_modules/bip39": {
"version": "3.0.3",
@@ -1916,11 +1794,6 @@
"randombytes": "^2.0.1"
}
},
- "node_modules/@secretkeylabs/xverse-core/node_modules/bip39/node_modules/@types/node": {
- "version": "11.11.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz",
- "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ=="
- },
"node_modules/@sinclair/typebox": {
"version": "0.27.8",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
@@ -1940,33 +1813,37 @@
"jsontokens": "^4.0.1"
}
},
- "node_modules/@stacks/auth/node_modules/@noble/hashes": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
- "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ]
+ "node_modules/@stacks/common": {
+ "version": "6.8.1",
+ "resolved": "https://registry.npmjs.org/@stacks/common/-/common-6.8.1.tgz",
+ "integrity": "sha512-ewL9GLZNQYa5a/3K4xSHlHIgHkD4rwWW/QEaPId8zQIaL+1O9qCaF4LX9orNQeOmEk8kvG0x2xGV54fXKCZeWQ==",
+ "dependencies": {
+ "@types/bn.js": "^5.1.0",
+ "@types/node": "^18.0.4"
+ }
},
- "node_modules/@stacks/auth/node_modules/@scure/bip39": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz",
- "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
+ "node_modules/@stacks/connect": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@stacks/connect/-/connect-7.4.1.tgz",
+ "integrity": "sha512-kvF7Fnx8oMHNi/9At6UI6kThey+gYlYlbtsxhNL2VqflReXI8z3EndaMJ1WrD55ePIOoydAzV/Fx0rdNFjd4rQ==",
+ "dependencies": {
+ "@stacks/auth": "^6.1.1",
+ "@stacks/connect-ui": "6.1.2",
+ "@stacks/network": "^6.1.1",
+ "@stacks/profile": "^6.1.1",
+ "@stacks/transactions": "^6.1.1",
+ "jsontokens": "^4.0.1"
+ }
+ },
+ "node_modules/@stacks/connect-ui": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/@stacks/connect-ui/-/connect-ui-6.1.2.tgz",
+ "integrity": "sha512-V4gUINXRDB2MO6YHk/JZZeApSnANrMFvIRv9qLBaJPamKsgeiCOBkiC88T7ucLVCz+NvCmS93Ntg4wytDIqdOg==",
"dependencies": {
- "@noble/hashes": "~1.1.1",
- "@scure/base": "~1.1.0"
+ "@stencil/core": "^2.17.1"
}
},
- "node_modules/@stacks/auth/node_modules/@stacks/encryption": {
+ "node_modules/@stacks/encryption": {
"version": "6.9.0",
"resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-6.9.0.tgz",
"integrity": "sha512-hbpZ47eYgw9ZH5ly+GSgvw2Ffsu9L6d++2XIhvYSzL7yxYl4m1+FV5QYdJthJ2AS3vi8cI5otE254HTfCrhKzg==",
@@ -1982,239 +1859,24 @@
"varuint-bitcoin": "^1.1.2"
}
},
- "node_modules/@stacks/common": {
+ "node_modules/@stacks/encryption/node_modules/@noble/hashes": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
+ "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ]
+ },
+ "node_modules/@stacks/network": {
"version": "6.8.1",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-6.8.1.tgz",
- "integrity": "sha512-ewL9GLZNQYa5a/3K4xSHlHIgHkD4rwWW/QEaPId8zQIaL+1O9qCaF4LX9orNQeOmEk8kvG0x2xGV54fXKCZeWQ==",
+ "resolved": "https://registry.npmjs.org/@stacks/network/-/network-6.8.1.tgz",
+ "integrity": "sha512-n8M25pPbLqpSBctabtsLOTBlmPvm9EPQpTI//x7HLdt5lEjDXxauEQt0XGSvDUZwecrmztqt9xNxlciiGApRBw==",
"dependencies": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4"
- }
- },
- "node_modules/@stacks/connect": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/@stacks/connect/-/connect-6.10.2.tgz",
- "integrity": "sha512-rixsMWhSIMGS8ClUgfNKA7PLV4ikr7SpjFUcVuKCmEsrRMnDdcvuhiY87hLPiatD0W6qMWZVR+BaIbHIgvp9aQ==",
- "dependencies": {
- "@stacks/auth": "4.3.2",
- "@stacks/connect-ui": "5.5.4",
- "@stacks/network": "4.3.2",
- "@stacks/prettier-config": "0.0.8",
- "@stacks/transactions": "4.3.2",
- "bn.js": "^5.2.0",
- "buffer": "6.0.3",
- "jsontokens": "3.1.1",
- "readable-stream": "^3.6.0",
- "url": "^0.11.0"
- }
- },
- "node_modules/@stacks/connect-ui": {
- "version": "5.5.4",
- "resolved": "https://registry.npmjs.org/@stacks/connect-ui/-/connect-ui-5.5.4.tgz",
- "integrity": "sha512-xstC05PoxpPeA2HWytkJp/NJBtDEPDUoHuUyyvpuqS7f95rsHyx/tLFWv9ElxWiIbeMPPDEQipoy6S1qnZb8jw==",
- "dependencies": {
- "@stencil/core": "^2.17.1"
- }
- },
- "node_modules/@stacks/connect/node_modules/@stacks/auth": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@stacks/auth/-/auth-4.3.2.tgz",
- "integrity": "sha512-8Ttq5dMmgVNUyaYR2q5pr3cIIiNHtD8HiVyB+Sui25T047twuWRKC5ZsxN6W28SPlLTGXKu/AFuDKoZDC6sAvQ==",
- "dependencies": {
- "@stacks/common": "^4.3.2",
- "@stacks/encryption": "^4.3.2",
- "@stacks/network": "^4.3.2",
- "@stacks/profile": "^4.3.2",
- "cross-fetch": "^3.1.5",
- "jsontokens": "^3.1.1",
- "query-string": "^6.13.1"
- }
- },
- "node_modules/@stacks/connect/node_modules/@stacks/common": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
- "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
- "dependencies": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4",
- "buffer": "^6.0.3"
- }
- },
- "node_modules/@stacks/connect/node_modules/@stacks/network": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-4.3.2.tgz",
- "integrity": "sha512-8QgsGjAHwRwCDIzbE+nmqD2Kk589svmDLHNm1PJWL5EGpZyJK5su/y36ZgmTMVDvQwNfr9/8GFoaAbBlArvZyw==",
- "dependencies": {
- "@stacks/common": "^4.3.2",
- "cross-fetch": "^3.1.5"
- }
- },
- "node_modules/@stacks/connect/node_modules/@stacks/profile": {
- "version": "4.3.8",
- "resolved": "https://registry.npmjs.org/@stacks/profile/-/profile-4.3.8.tgz",
- "integrity": "sha512-aXe/O9u2O0aAslzlcERc+JV3ZAQ75/FSO3l/5TGz+le0vZ6gqoflP6lCI1t3kPy0l6vnZjIUnwUDFR6JOmAHrQ==",
- "dependencies": {
- "@stacks/common": "^4.3.5",
- "@stacks/network": "^4.3.5",
- "@stacks/transactions": "^4.3.8",
- "jsontokens": "^3.1.1",
- "schema-inspector": "2.0.1",
- "zone-file": "^2.0.0-beta.3"
- }
- },
- "node_modules/@stacks/connect/node_modules/@stacks/profile/node_modules/@stacks/network": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-4.3.5.tgz",
- "integrity": "sha512-TC4+AkuT6qi3MoEGxTftA+4BNp99QvGnI+qtKQkoA1m0KDr8b9hSBUhugJHRhQbWuo7D6q0+JagYEGxLID29Kw==",
- "dependencies": {
- "@stacks/common": "^4.3.5",
- "cross-fetch": "^3.1.5"
- }
- },
- "node_modules/@stacks/connect/node_modules/@stacks/profile/node_modules/@stacks/transactions": {
- "version": "4.3.8",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-4.3.8.tgz",
- "integrity": "sha512-5xYYv2TdXXM9PVixB79Pr99symQ8fhbVATjempGUxtL23/XUiRiLvJZohDxIE4VQ2EzbB4g4j8Y7oqPjj0h09Q==",
- "dependencies": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@stacks/common": "^4.3.5",
- "@stacks/network": "^4.3.5",
- "@types/node": "^18.0.4",
- "@types/sha.js": "^2.4.0",
- "c32check": "^1.1.3",
- "lodash.clonedeep": "^4.5.0",
- "ripemd160-min": "^0.0.6",
- "sha.js": "^2.4.11",
- "smart-buffer": "^4.1.0"
- }
- },
- "node_modules/@stacks/connect/node_modules/@stacks/transactions": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-4.3.2.tgz",
- "integrity": "sha512-DzTVVCC4GQNI58asdshatv8f5zAuNKRtNbWEjs75HAmaD7x6qz73pC+BDaZwJHBBH1A3Hp8d5HC2LKlv7ymDlQ==",
- "dependencies": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@stacks/common": "^4.3.2",
- "@stacks/network": "^4.3.2",
- "@types/node": "^14.14.43",
- "@types/sha.js": "^2.4.0",
- "c32check": "^1.1.3",
- "lodash.clonedeep": "^4.5.0",
- "ripemd160-min": "^0.0.6",
- "sha.js": "^2.4.11",
- "smart-buffer": "^4.1.0"
- }
- },
- "node_modules/@stacks/connect/node_modules/@stacks/transactions/node_modules/@types/node": {
- "version": "14.18.54",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz",
- "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw=="
- },
- "node_modules/@stacks/connect/node_modules/base-x": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
- "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/@stacks/connect/node_modules/c32check": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz",
- "integrity": "sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==",
- "dependencies": {
- "base-x": "^3.0.8",
- "buffer": "^5.6.0",
- "cross-sha256": "^1.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@stacks/connect/node_modules/c32check/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/@stacks/connect/node_modules/jsontokens": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/jsontokens/-/jsontokens-3.1.1.tgz",
- "integrity": "sha512-qABuRXXrDP1XQrUm0/59h3kEBWtbyk/lS24t98iHvuAq7gyNA2lxqSQgATsbx8DzbMfOJmkmfjwLodd96lD/kw==",
- "dependencies": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "base64url": "^3.0.1",
- "ecdsa-sig-formatter": "^1.0.11"
- }
- },
- "node_modules/@stacks/connect/node_modules/schema-inspector": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/schema-inspector/-/schema-inspector-2.0.1.tgz",
- "integrity": "sha512-lqR4tOVfoqf9Z8cgX/zvXuWPnTWCqrc4WSgeSPDDc1bWbMABaqdSTY98xj7iRKHOIRtKjc4M8EWCgUu5ASlHkg==",
- "dependencies": {
- "async": "~2.6.3"
- }
- },
- "node_modules/@stacks/encryption": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-4.3.5.tgz",
- "integrity": "sha512-s7fPwGLHQc/4SMFq7W75wt5xNqUJcciDkyxSEA30I+ukFSjLlZnmxI91ElWD15MRq/oKNHBlS0URF0N37dEe1A==",
- "dependencies": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@scure/bip39": "^1.1.0",
- "@stacks/common": "^4.3.5",
- "@types/node": "^18.0.4",
- "bs58": "^5.0.0",
- "ripemd160-min": "^0.0.6",
- "varuint-bitcoin": "^1.1.2"
- }
- },
- "node_modules/@stacks/encryption/node_modules/@stacks/common": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
- "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
- "dependencies": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4",
- "buffer": "^6.0.3"
- }
- },
- "node_modules/@stacks/network": {
- "version": "6.8.1",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-6.8.1.tgz",
- "integrity": "sha512-n8M25pPbLqpSBctabtsLOTBlmPvm9EPQpTI//x7HLdt5lEjDXxauEQt0XGSvDUZwecrmztqt9xNxlciiGApRBw==",
- "dependencies": {
- "@stacks/common": "^6.8.1",
- "cross-fetch": "^3.1.5"
- }
- },
- "node_modules/@stacks/prettier-config": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/@stacks/prettier-config/-/prettier-config-0.0.8.tgz",
- "integrity": "sha512-WpxCIB2wPk2TT0Zs9oABNQ7Y2wBx2sSqEeFtgJ1lBNY6bKT5B82l/CkbaHPmnUj0KOwauXaSv0rXnxomTNj9xA==",
- "dependencies": {
- "prettier": "^2.3.0"
+ "@stacks/common": "^6.8.1",
+ "cross-fetch": "^3.1.5"
}
},
"node_modules/@stacks/profile": {
@@ -2224,370 +1886,73 @@
"dependencies": {
"@stacks/common": "^6.8.1",
"@stacks/network": "^6.8.1",
- "@stacks/transactions": "^6.9.0",
- "jsontokens": "^4.0.1",
- "schema-inspector": "^2.0.2",
- "zone-file": "^2.0.0-beta.3"
- }
- },
- "node_modules/@stacks/profile/node_modules/@noble/hashes": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
- "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ]
- },
- "node_modules/@stacks/profile/node_modules/@stacks/transactions": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-6.9.0.tgz",
- "integrity": "sha512-hSs9+0Ew++GwMZMgPObOx0iVCQRxkiCqI+DHdPEikAmg2utpyLh2/txHOjfSIkQHvcBfJJ6O5KphmxDP4gUqiA==",
- "dependencies": {
- "@noble/hashes": "1.1.5",
- "@noble/secp256k1": "1.7.1",
- "@stacks/common": "^6.8.1",
- "@stacks/network": "^6.8.1",
- "c32check": "^2.0.0",
- "lodash.clonedeep": "^4.5.0"
- }
- },
- "node_modules/@stacks/stacks-blockchain-api-types": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/@stacks/stacks-blockchain-api-types/-/stacks-blockchain-api-types-6.1.1.tgz",
- "integrity": "sha512-Mw5dBPx3DySPupwaq0iBdm1WdEVXIfhjUVaTjI2iSyzWz4Fgs3U7JCaAezLbgNu7Q69c/ZN4JUDWuo9FVjy7oA=="
- },
- "node_modules/@stacks/storage": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/@stacks/storage/-/storage-6.9.0.tgz",
- "integrity": "sha512-aZ3tOnwRSk5cHQh9ButhfHDvAylNVxPRQzeSB8PydHfyib4XL7fSAJwizzEWNgJV4dovqW2Nsy8gm/4rM/oFKQ==",
- "dependencies": {
- "@stacks/auth": "^6.9.0",
- "@stacks/common": "^6.8.1",
- "@stacks/encryption": "^6.9.0",
- "@stacks/network": "^6.8.1",
- "base64-js": "^1.5.1",
- "jsontokens": "^4.0.1"
- }
- },
- "node_modules/@stacks/storage/node_modules/@noble/hashes": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
- "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ]
- },
- "node_modules/@stacks/storage/node_modules/@scure/bip39": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz",
- "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "@noble/hashes": "~1.1.1",
- "@scure/base": "~1.1.0"
- }
- },
- "node_modules/@stacks/storage/node_modules/@stacks/encryption": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-6.9.0.tgz",
- "integrity": "sha512-hbpZ47eYgw9ZH5ly+GSgvw2Ffsu9L6d++2XIhvYSzL7yxYl4m1+FV5QYdJthJ2AS3vi8cI5otE254HTfCrhKzg==",
- "dependencies": {
- "@noble/hashes": "1.1.5",
- "@noble/secp256k1": "1.7.1",
- "@scure/bip39": "1.1.0",
- "@stacks/common": "^6.8.1",
- "@types/node": "^18.0.4",
- "base64-js": "^1.5.1",
- "bs58": "^5.0.0",
- "ripemd160-min": "^0.0.6",
- "varuint-bitcoin": "^1.1.2"
- }
- },
- "node_modules/@stacks/transactions": {
- "version": "4.3.8",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-4.3.8.tgz",
- "integrity": "sha512-5xYYv2TdXXM9PVixB79Pr99symQ8fhbVATjempGUxtL23/XUiRiLvJZohDxIE4VQ2EzbB4g4j8Y7oqPjj0h09Q==",
- "dependencies": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@stacks/common": "^4.3.5",
- "@stacks/network": "^4.3.5",
- "@types/node": "^18.0.4",
- "@types/sha.js": "^2.4.0",
- "c32check": "^1.1.3",
- "lodash.clonedeep": "^4.5.0",
- "ripemd160-min": "^0.0.6",
- "sha.js": "^2.4.11",
- "smart-buffer": "^4.1.0"
- }
- },
- "node_modules/@stacks/transactions/node_modules/@stacks/common": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
- "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
- "dependencies": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4",
- "buffer": "^6.0.3"
- }
- },
- "node_modules/@stacks/transactions/node_modules/@stacks/network": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-4.3.5.tgz",
- "integrity": "sha512-TC4+AkuT6qi3MoEGxTftA+4BNp99QvGnI+qtKQkoA1m0KDr8b9hSBUhugJHRhQbWuo7D6q0+JagYEGxLID29Kw==",
- "dependencies": {
- "@stacks/common": "^4.3.5",
- "cross-fetch": "^3.1.5"
- }
- },
- "node_modules/@stacks/transactions/node_modules/base-x": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
- "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/@stacks/transactions/node_modules/c32check": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz",
- "integrity": "sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==",
- "dependencies": {
- "base-x": "^3.0.8",
- "buffer": "^5.6.0",
- "cross-sha256": "^1.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@stacks/transactions/node_modules/c32check/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/@stacks/wallet-sdk": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/wallet-sdk/-/wallet-sdk-5.0.3.tgz",
- "integrity": "sha512-9Alqqer8cauLLEuhSA3ryPTfCw3XZiZkZBbyed9+oNsha3beIBly5lspU2GHdz2alnsJ5jisjDUZeuDYVRFEuA==",
- "dependencies": {
- "@scure/bip32": "^1.1.0",
- "@scure/bip39": "^1.1.0",
- "@stacks/auth": "^5.0.3",
- "@stacks/common": "^5.0.3",
- "@stacks/encryption": "^5.0.3",
- "@stacks/network": "^5.0.3",
- "@stacks/profile": "^5.0.3",
- "@stacks/storage": "^5.0.3",
- "@stacks/transactions": "^5.0.3",
- "bitcoinjs-lib": "^5.2.0",
- "buffer": "^6.0.3",
- "c32check": "^2.0.0",
- "jsontokens": "^4.0.1",
- "triplesec": "^4.0.3",
- "zone-file": "^2.0.0-beta.3"
- }
- },
- "node_modules/@stacks/wallet-sdk/node_modules/@stacks/auth": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/auth/-/auth-5.0.3.tgz",
- "integrity": "sha512-bFP/H1IFAxU2FUu3KR0meUgXdmagkpjV9wAC7b5UDCVHWanU3c/GfCh0CIw10FbXov2aYlQJpCEFMBxweATVjg==",
- "dependencies": {
- "@stacks/common": "^5.0.3",
- "@stacks/encryption": "^5.0.3",
- "@stacks/network": "^5.0.3",
- "@stacks/profile": "^5.0.3",
- "cross-fetch": "^3.1.5",
- "jsontokens": "^4.0.1",
- "query-string": "^6.13.1"
- }
- },
- "node_modules/@stacks/wallet-sdk/node_modules/@stacks/common": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-5.0.3.tgz",
- "integrity": "sha512-0c1L1xQAFI4p0oB8BrwU1ic3q91plceztzT6ZQizxWfAJFnELdYyO/nJlq9a3yIVV90iaLYgvYBTPW3b7LWrdg==",
- "dependencies": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4"
- }
- },
- "node_modules/@stacks/wallet-sdk/node_modules/@stacks/encryption": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-5.0.3.tgz",
- "integrity": "sha512-wM5wE2ldssJWF5zrE5MbGlBSqI6ZMDSWGtvg2AOqOG2ChoBPxcuVOdyj4ziBbX4vtdu61jjr7LLP+90/0MLcpQ==",
- "dependencies": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@scure/bip39": "^1.1.0",
- "@stacks/common": "^5.0.3",
- "@types/node": "^18.0.4",
- "base64-js": "^1.5.1",
- "bs58": "^5.0.0",
- "ripemd160-min": "^0.0.6",
- "varuint-bitcoin": "^1.1.2"
- }
- },
- "node_modules/@stacks/wallet-sdk/node_modules/@stacks/network": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-5.0.3.tgz",
- "integrity": "sha512-9ZSKktElpgDst1SVI5K4ocmsrIKrIHVQMRTfLkVarNqMnk9zliLMXrmXef6Z3rszU7JbUWGbb8+F3ubhpfqZxg==",
- "dependencies": {
- "@stacks/common": "^5.0.3",
- "cross-fetch": "^3.1.5"
- }
- },
- "node_modules/@stacks/wallet-sdk/node_modules/@stacks/profile": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/profile/-/profile-5.0.3.tgz",
- "integrity": "sha512-B+gAMK8svDrgFWGJu2EkokkgjkXUEJG+zsZuK3P1Aq2qCS2EiO+O0gLhUi8p38BiKEpkUVY4mI34QCzMn9zWiA==",
- "dependencies": {
- "@stacks/common": "^5.0.3",
- "@stacks/network": "^5.0.3",
- "@stacks/transactions": "^5.0.3",
+ "@stacks/transactions": "^6.9.0",
"jsontokens": "^4.0.1",
- "schema-inspector": "2.0.1",
+ "schema-inspector": "^2.0.2",
"zone-file": "^2.0.0-beta.3"
}
},
- "node_modules/@stacks/wallet-sdk/node_modules/@stacks/storage": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/storage/-/storage-5.0.3.tgz",
- "integrity": "sha512-5JuQ5rUjXNtx3hhiUGWp5KTuGg4pvxXmYnro6u+3Bl6kN8Q5ZMwf0b5fWwCoRvxIPSPuMTsp9P+tlb9N/cWNVA==",
+ "node_modules/@stacks/stacks-blockchain-api-types": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@stacks/stacks-blockchain-api-types/-/stacks-blockchain-api-types-6.1.1.tgz",
+ "integrity": "sha512-Mw5dBPx3DySPupwaq0iBdm1WdEVXIfhjUVaTjI2iSyzWz4Fgs3U7JCaAezLbgNu7Q69c/ZN4JUDWuo9FVjy7oA=="
+ },
+ "node_modules/@stacks/storage": {
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@stacks/storage/-/storage-6.9.0.tgz",
+ "integrity": "sha512-aZ3tOnwRSk5cHQh9ButhfHDvAylNVxPRQzeSB8PydHfyib4XL7fSAJwizzEWNgJV4dovqW2Nsy8gm/4rM/oFKQ==",
"dependencies": {
- "@stacks/auth": "^5.0.3",
- "@stacks/common": "^5.0.3",
- "@stacks/encryption": "^5.0.3",
- "@stacks/network": "^5.0.3",
+ "@stacks/auth": "^6.9.0",
+ "@stacks/common": "^6.8.1",
+ "@stacks/encryption": "^6.9.0",
+ "@stacks/network": "^6.8.1",
"base64-js": "^1.5.1",
"jsontokens": "^4.0.1"
}
},
- "node_modules/@stacks/wallet-sdk/node_modules/@stacks/transactions": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-5.0.3.tgz",
- "integrity": "sha512-rLe7QYU+tzTs1Yudo82zh7oiWAwGxGiunFehgIZ6VgLgo/Oarf8+DWmmaAxSZpCsecxl4cuQxE3bDWwJZAA9rg==",
+ "node_modules/@stacks/transactions": {
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-6.9.0.tgz",
+ "integrity": "sha512-hSs9+0Ew++GwMZMgPObOx0iVCQRxkiCqI+DHdPEikAmg2utpyLh2/txHOjfSIkQHvcBfJJ6O5KphmxDP4gUqiA==",
"dependencies": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@stacks/common": "^5.0.3",
- "@stacks/network": "^5.0.3",
+ "@noble/hashes": "1.1.5",
+ "@noble/secp256k1": "1.7.1",
+ "@stacks/common": "^6.8.1",
+ "@stacks/network": "^6.8.1",
"c32check": "^2.0.0",
"lodash.clonedeep": "^4.5.0"
}
},
- "node_modules/@stacks/wallet-sdk/node_modules/base-x": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
- "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/@stacks/wallet-sdk/node_modules/bech32": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
- "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
- },
- "node_modules/@stacks/wallet-sdk/node_modules/bip32": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/bip32/-/bip32-2.0.6.tgz",
- "integrity": "sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA==",
- "dependencies": {
- "@types/node": "10.12.18",
- "bs58check": "^2.1.1",
- "create-hash": "^1.2.0",
- "create-hmac": "^1.1.7",
- "tiny-secp256k1": "^1.1.3",
- "typeforce": "^1.11.5",
- "wif": "^2.0.6"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@stacks/wallet-sdk/node_modules/bip32/node_modules/@types/node": {
- "version": "10.12.18",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz",
- "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ=="
- },
- "node_modules/@stacks/wallet-sdk/node_modules/bitcoinjs-lib": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-5.2.0.tgz",
- "integrity": "sha512-5DcLxGUDejgNBYcieMIUfjORtUeNWl828VWLHJGVKZCb4zIS1oOySTUr0LGmcqJBQgTBz3bGbRQla4FgrdQEIQ==",
- "dependencies": {
- "bech32": "^1.1.2",
- "bip174": "^2.0.1",
- "bip32": "^2.0.4",
- "bip66": "^1.1.0",
- "bitcoin-ops": "^1.4.0",
- "bs58check": "^2.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.3",
- "merkle-lib": "^2.0.10",
- "pushdata-bitcoin": "^1.0.1",
- "randombytes": "^2.0.1",
- "tiny-secp256k1": "^1.1.1",
- "typeforce": "^1.11.3",
- "varuint-bitcoin": "^1.0.4",
- "wif": "^2.0.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/@stacks/wallet-sdk/node_modules/bs58check": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz",
- "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
- "dependencies": {
- "bs58": "^4.0.0",
- "create-hash": "^1.1.0",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/@stacks/wallet-sdk/node_modules/bs58check/node_modules/bs58": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
- "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==",
- "dependencies": {
- "base-x": "^3.0.2"
- }
+ "node_modules/@stacks/transactions/node_modules/@noble/hashes": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
+ "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ]
},
- "node_modules/@stacks/wallet-sdk/node_modules/schema-inspector": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/schema-inspector/-/schema-inspector-2.0.1.tgz",
- "integrity": "sha512-lqR4tOVfoqf9Z8cgX/zvXuWPnTWCqrc4WSgeSPDDc1bWbMABaqdSTY98xj7iRKHOIRtKjc4M8EWCgUu5ASlHkg==",
+ "node_modules/@stacks/wallet-sdk": {
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@stacks/wallet-sdk/-/wallet-sdk-6.9.0.tgz",
+ "integrity": "sha512-cNp8gilFYovVgFYSd+g+2ybVgDcY0vshhi23lweeiTViGAogURfDvZgczwQ9yoYzdHA8vMGy5PxV5W9dbrrbcQ==",
"dependencies": {
- "async": "~2.6.3"
+ "@scure/bip32": "1.1.3",
+ "@scure/bip39": "1.1.0",
+ "@stacks/auth": "^6.9.0",
+ "@stacks/common": "^6.8.1",
+ "@stacks/encryption": "^6.9.0",
+ "@stacks/network": "^6.8.1",
+ "@stacks/profile": "^6.9.0",
+ "@stacks/storage": "^6.9.0",
+ "@stacks/transactions": "^6.9.0",
+ "buffer": "^6.0.3",
+ "c32check": "^2.0.0",
+ "jsontokens": "^4.0.1",
+ "triplesec": "^4.0.3",
+ "zone-file": "^2.0.0-beta.3"
}
},
"node_modules/@stencil/core": {
@@ -3362,9 +2727,9 @@
}
},
"node_modules/@types/sha.js": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@types/sha.js/-/sha.js-2.4.1.tgz",
- "integrity": "sha512-QHWKOJ4dkWB0OCfCoOFUZkhvpqUllcPs2WIhYFk7ugAprv3ts0z4nSuHtc0jlWBYLdPwfNRpVpv9pIpFSbYBYQ==",
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@types/sha.js/-/sha.js-2.4.4.tgz",
+ "integrity": "sha512-Qukd+D6S2Hm0wLVt2Vh+/eWBIoUt+wF8jWjBsG4F8EFQRwKtYvtXCPcNl2OEUQ1R+eTr3xuSaBYUyM3WD1x/Qw==",
"dependencies": {
"@types/node": "*"
}
@@ -4071,6 +3436,87 @@
"varuint-bitcoin": "^1.1.2"
}
},
+ "node_modules/@zondax/ledger-stacks/node_modules/@stacks/common": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
+ "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
+ "dependencies": {
+ "@types/bn.js": "^5.1.0",
+ "@types/node": "^18.0.4",
+ "buffer": "^6.0.3"
+ }
+ },
+ "node_modules/@zondax/ledger-stacks/node_modules/@stacks/network": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/@stacks/network/-/network-4.3.5.tgz",
+ "integrity": "sha512-TC4+AkuT6qi3MoEGxTftA+4BNp99QvGnI+qtKQkoA1m0KDr8b9hSBUhugJHRhQbWuo7D6q0+JagYEGxLID29Kw==",
+ "dependencies": {
+ "@stacks/common": "^4.3.5",
+ "cross-fetch": "^3.1.5"
+ }
+ },
+ "node_modules/@zondax/ledger-stacks/node_modules/@stacks/transactions": {
+ "version": "4.3.8",
+ "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-4.3.8.tgz",
+ "integrity": "sha512-5xYYv2TdXXM9PVixB79Pr99symQ8fhbVATjempGUxtL23/XUiRiLvJZohDxIE4VQ2EzbB4g4j8Y7oqPjj0h09Q==",
+ "dependencies": {
+ "@noble/hashes": "^1.0.0",
+ "@noble/secp256k1": "^1.5.5",
+ "@stacks/common": "^4.3.5",
+ "@stacks/network": "^4.3.5",
+ "@types/node": "^18.0.4",
+ "@types/sha.js": "^2.4.0",
+ "c32check": "^1.1.3",
+ "lodash.clonedeep": "^4.5.0",
+ "ripemd160-min": "^0.0.6",
+ "sha.js": "^2.4.11",
+ "smart-buffer": "^4.1.0"
+ }
+ },
+ "node_modules/@zondax/ledger-stacks/node_modules/base-x": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
+ "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/@zondax/ledger-stacks/node_modules/c32check": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz",
+ "integrity": "sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==",
+ "dependencies": {
+ "base-x": "^3.0.8",
+ "buffer": "^5.6.0",
+ "cross-sha256": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@zondax/ledger-stacks/node_modules/c32check/node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
"node_modules/abab": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
@@ -4740,11 +4186,6 @@
"sha256-uint8array": "^0.10.3"
}
},
- "node_modules/bitcoin-ops": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz",
- "integrity": "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow=="
- },
"node_modules/bitcoinjs-lib": {
"version": "6.1.5",
"resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-6.1.5.tgz",
@@ -6061,14 +5502,6 @@
}
}
},
- "node_modules/decode-uri-component": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
- "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/deep-eql": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
@@ -7642,14 +7075,6 @@
"node": ">=8"
}
},
- "node_modules/filter-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz",
- "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/finalhandler": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
@@ -10282,11 +9707,6 @@
"node": ">= 8"
}
},
- "node_modules/merkle-lib": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/merkle-lib/-/merkle-lib-2.0.10.tgz",
- "integrity": "sha512-XrNQvUbn1DL5hKNe46Ccs+Tu3/PYOlrcZILuGUhb95oKBPjc/nmIC8D462PQkipVDGKRvwhn+QFg2cCdIvmDJA=="
- },
"node_modules/methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
@@ -11394,6 +10814,7 @@
"version": "2.8.8",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true,
"bin": {
"prettier": "bin-prettier.js"
},
@@ -11566,14 +10987,6 @@
"node": ">=6"
}
},
- "node_modules/pushdata-bitcoin": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz",
- "integrity": "sha512-hw7rcYTJRAl4olM8Owe8x0fBuJJ+WGbMhQuLWOXEMN3PxPCKQHRkhfL+XG0+iXUmSHjkMmb3Ba55Mt21cZc9kQ==",
- "dependencies": {
- "bitcoin-ops": "^1.3.0"
- }
- },
"node_modules/qr-code-styling": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/qr-code-styling/-/qr-code-styling-1.5.0.tgz",
@@ -11592,37 +11005,6 @@
"resolved": "https://registry.npmjs.org/qrcode-generator/-/qrcode-generator-1.4.4.tgz",
"integrity": "sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw=="
},
- "node_modules/qs": {
- "version": "6.11.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
- "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/query-string": {
- "version": "6.14.1",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz",
- "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==",
- "dependencies": {
- "decode-uri-component": "^0.2.0",
- "filter-obj": "^1.1.0",
- "split-on-first": "^1.0.0",
- "strict-uri-encode": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -12969,14 +12351,6 @@
"wbuf": "^1.7.3"
}
},
- "node_modules/split-on-first": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
- "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/stackback": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
@@ -13024,14 +12398,6 @@
"readable-stream": "^3.5.0"
}
},
- "node_modules/strict-uri-encode": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
- "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -13417,27 +12783,6 @@
"integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
"dev": true
},
- "node_modules/tiny-secp256k1": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz",
- "integrity": "sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA==",
- "hasInstallScript": true,
- "dependencies": {
- "bindings": "^1.3.0",
- "bn.js": "^4.11.8",
- "create-hmac": "^1.1.7",
- "elliptic": "^6.4.0",
- "nan": "^2.13.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/tiny-secp256k1/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
- },
"node_modules/tinybench": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz",
@@ -14023,20 +13368,6 @@
"punycode": "^2.1.0"
}
},
- "node_modules/url": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz",
- "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==",
- "dependencies": {
- "punycode": "^1.4.1",
- "qs": "^6.11.0"
- }
- },
- "node_modules/url/node_modules/punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
- },
"node_modules/use-isomorphic-layout-effect": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz",
@@ -15788,19 +15119,12 @@
"integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==",
"requires": {
"@noble/hashes": "1.3.2"
- },
- "dependencies": {
- "@noble/hashes": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
- "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="
- }
}
},
"@noble/hashes": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz",
- "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA=="
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
+ "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="
},
"@noble/secp256k1": {
"version": "1.7.1",
@@ -16004,29 +15328,36 @@
"integrity": "sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q=="
},
"@scure/bip32": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.2.tgz",
- "integrity": "sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.3.tgz",
+ "integrity": "sha512-dSH3+LCWONlSNQuF34xZrG6Xas7tp2jSSqHb/pMfXWM0vKE4JZOtK3uJfoWouUVW5IGlls75HkXmYLldZ8ySgQ==",
"requires": {
- "@noble/curves": "~1.2.0",
- "@noble/hashes": "~1.3.2",
- "@scure/base": "~1.1.2"
+ "@noble/hashes": "~1.1.3",
+ "@noble/secp256k1": "~1.7.0",
+ "@scure/base": "~1.1.0"
},
"dependencies": {
"@noble/hashes": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
- "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
+ "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ=="
}
}
},
"@scure/bip39": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz",
- "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz",
+ "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==",
"requires": {
- "@noble/hashes": "~1.3.0",
+ "@noble/hashes": "~1.1.1",
"@scure/base": "~1.1.0"
+ },
+ "dependencies": {
+ "@noble/hashes": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
+ "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ=="
+ }
}
},
"@scure/btc-signer": {
@@ -16041,21 +15372,22 @@
}
},
"@secretkeylabs/xverse-core": {
- "version": "6.0.1",
- "resolved": "https://npm.pkg.github.com/download/@secretkeylabs/xverse-core/6.0.1/32e8e3439cf018882e3b7cb3f65504921dd1aac3",
- "integrity": "sha512-T5E3cTJT06NsvHrAN9EZAP9gkWD+gYwPwNUXhaKTOj1YxkAUOTREyhVkNmlqbTLOHx8UtxHzcjOZju40bqOLkA==",
+ "version": "7.0.0",
+ "resolved": "https://npm.pkg.github.com/download/@secretkeylabs/xverse-core/7.0.0/a9d4470c0bee31b2b751b0f2a3e064d51453ddd4",
+ "integrity": "sha512-8z5g5dHFin0d9695EwI0t6a/Ji7vzUenCq1AHpTtsj5Z1/SlH6Oa7p95fyJ1usBH99M5NQAYFMBGkjOcNE+jQw==",
"requires": {
"@bitcoinerlab/secp256k1": "^1.0.2",
"@noble/curves": "^1.2.0",
"@noble/secp256k1": "^1.7.1",
"@scure/base": "^1.1.1",
"@scure/btc-signer": "1.1.0",
- "@stacks/auth": "^6.5.1",
- "@stacks/encryption": "6.1.1",
- "@stacks/network": "4.3.5",
- "@stacks/storage": "^6.0.0",
- "@stacks/transactions": "4.3.5",
- "@stacks/wallet-sdk": "^5.0.2",
+ "@stacks/auth": "^6.9.0",
+ "@stacks/connect": "^7.4.1",
+ "@stacks/encryption": "6.9.0",
+ "@stacks/network": "6.8.1",
+ "@stacks/storage": "^6.9.0",
+ "@stacks/transactions": "6.9.0",
+ "@stacks/wallet-sdk": "^6.9.0",
"@zondax/ledger-stacks": "^1.0.4",
"axios": "1.6.2",
"base64url": "^3.0.1",
@@ -16078,115 +15410,10 @@
"varuint-bitcoin": "^1.1.2"
},
"dependencies": {
- "@noble/hashes": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
- "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ=="
- },
- "@scure/bip39": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz",
- "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==",
- "requires": {
- "@noble/hashes": "~1.1.1",
- "@scure/base": "~1.1.0"
- }
- },
- "@stacks/encryption": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-6.1.1.tgz",
- "integrity": "sha512-tS0Foo83h1ixwxCAbFh3uX0Hty3b3EFcqOb62udgBFlDmsjBD9Pld8t+ApKLTwiad6YhRu6rW+hDAJmhYQToMw==",
- "requires": {
- "@noble/hashes": "1.1.5",
- "@noble/secp256k1": "1.7.1",
- "@scure/bip39": "1.1.0",
- "@stacks/common": "^6.0.0",
- "@types/node": "^18.0.4",
- "base64-js": "^1.5.1",
- "bs58": "^5.0.0",
- "ripemd160-min": "^0.0.6",
- "varuint-bitcoin": "^1.1.2"
- }
- },
- "@stacks/network": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-4.3.5.tgz",
- "integrity": "sha512-TC4+AkuT6qi3MoEGxTftA+4BNp99QvGnI+qtKQkoA1m0KDr8b9hSBUhugJHRhQbWuo7D6q0+JagYEGxLID29Kw==",
- "requires": {
- "@stacks/common": "^4.3.5",
- "cross-fetch": "^3.1.5"
- },
- "dependencies": {
- "@stacks/common": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
- "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
- "requires": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4",
- "buffer": "^6.0.3"
- }
- }
- }
- },
- "@stacks/transactions": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-4.3.5.tgz",
- "integrity": "sha512-tTkuVlIfpD6QKF0vHoJvUZ2h3Ua82l4HhxzzVs3ZKr5M9WYULZQo1RMaMloJLgUMxsexDZ1Mib6ADiXgBefrBQ==",
- "requires": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@stacks/common": "^4.3.5",
- "@stacks/network": "^4.3.5",
- "@types/node": "^18.0.4",
- "@types/sha.js": "^2.4.0",
- "c32check": "^1.1.3",
- "lodash.clonedeep": "^4.5.0",
- "ripemd160-min": "^0.0.6",
- "sha.js": "^2.4.11",
- "smart-buffer": "^4.1.0"
- },
- "dependencies": {
- "@stacks/common": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
- "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
- "requires": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4",
- "buffer": "^6.0.3"
- }
- },
- "c32check": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz",
- "integrity": "sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==",
- "requires": {
- "base-x": "^3.0.8",
- "buffer": "^5.6.0",
- "cross-sha256": "^1.2.0"
- },
- "dependencies": {
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- }
- }
- }
- }
- },
- "base-x": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
- "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
+ "@types/node": {
+ "version": "11.11.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz",
+ "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ=="
},
"bip39": {
"version": "3.0.3",
@@ -16197,13 +15424,6 @@
"create-hash": "^1.1.0",
"pbkdf2": "^3.0.9",
"randombytes": "^2.0.1"
- },
- "dependencies": {
- "@types/node": {
- "version": "11.11.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz",
- "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ=="
- }
}
}
}
@@ -16225,38 +15445,6 @@
"@stacks/profile": "^6.9.0",
"cross-fetch": "^3.1.5",
"jsontokens": "^4.0.1"
- },
- "dependencies": {
- "@noble/hashes": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
- "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ=="
- },
- "@scure/bip39": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz",
- "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==",
- "requires": {
- "@noble/hashes": "~1.1.1",
- "@scure/base": "~1.1.0"
- }
- },
- "@stacks/encryption": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-6.9.0.tgz",
- "integrity": "sha512-hbpZ47eYgw9ZH5ly+GSgvw2Ffsu9L6d++2XIhvYSzL7yxYl4m1+FV5QYdJthJ2AS3vi8cI5otE254HTfCrhKzg==",
- "requires": {
- "@noble/hashes": "1.1.5",
- "@noble/secp256k1": "1.7.1",
- "@scure/bip39": "1.1.0",
- "@stacks/common": "^6.8.1",
- "@types/node": "^18.0.4",
- "base64-js": "^1.5.1",
- "bs58": "^5.0.0",
- "ripemd160-min": "^0.0.6",
- "varuint-bitcoin": "^1.1.2"
- }
- }
}
},
"@stacks/common": {
@@ -16269,204 +15457,46 @@
}
},
"@stacks/connect": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/@stacks/connect/-/connect-6.10.2.tgz",
- "integrity": "sha512-rixsMWhSIMGS8ClUgfNKA7PLV4ikr7SpjFUcVuKCmEsrRMnDdcvuhiY87hLPiatD0W6qMWZVR+BaIbHIgvp9aQ==",
- "requires": {
- "@stacks/auth": "4.3.2",
- "@stacks/connect-ui": "5.5.4",
- "@stacks/network": "4.3.2",
- "@stacks/prettier-config": "0.0.8",
- "@stacks/transactions": "4.3.2",
- "bn.js": "^5.2.0",
- "buffer": "6.0.3",
- "jsontokens": "3.1.1",
- "readable-stream": "^3.6.0",
- "url": "^0.11.0"
- },
- "dependencies": {
- "@stacks/auth": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@stacks/auth/-/auth-4.3.2.tgz",
- "integrity": "sha512-8Ttq5dMmgVNUyaYR2q5pr3cIIiNHtD8HiVyB+Sui25T047twuWRKC5ZsxN6W28SPlLTGXKu/AFuDKoZDC6sAvQ==",
- "requires": {
- "@stacks/common": "^4.3.2",
- "@stacks/encryption": "^4.3.2",
- "@stacks/network": "^4.3.2",
- "@stacks/profile": "^4.3.2",
- "cross-fetch": "^3.1.5",
- "jsontokens": "^3.1.1",
- "query-string": "^6.13.1"
- }
- },
- "@stacks/common": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
- "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
- "requires": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4",
- "buffer": "^6.0.3"
- }
- },
- "@stacks/network": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-4.3.2.tgz",
- "integrity": "sha512-8QgsGjAHwRwCDIzbE+nmqD2Kk589svmDLHNm1PJWL5EGpZyJK5su/y36ZgmTMVDvQwNfr9/8GFoaAbBlArvZyw==",
- "requires": {
- "@stacks/common": "^4.3.2",
- "cross-fetch": "^3.1.5"
- }
- },
- "@stacks/profile": {
- "version": "4.3.8",
- "resolved": "https://registry.npmjs.org/@stacks/profile/-/profile-4.3.8.tgz",
- "integrity": "sha512-aXe/O9u2O0aAslzlcERc+JV3ZAQ75/FSO3l/5TGz+le0vZ6gqoflP6lCI1t3kPy0l6vnZjIUnwUDFR6JOmAHrQ==",
- "requires": {
- "@stacks/common": "^4.3.5",
- "@stacks/network": "^4.3.5",
- "@stacks/transactions": "^4.3.8",
- "jsontokens": "^3.1.1",
- "schema-inspector": "2.0.1",
- "zone-file": "^2.0.0-beta.3"
- },
- "dependencies": {
- "@stacks/network": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-4.3.5.tgz",
- "integrity": "sha512-TC4+AkuT6qi3MoEGxTftA+4BNp99QvGnI+qtKQkoA1m0KDr8b9hSBUhugJHRhQbWuo7D6q0+JagYEGxLID29Kw==",
- "requires": {
- "@stacks/common": "^4.3.5",
- "cross-fetch": "^3.1.5"
- }
- },
- "@stacks/transactions": {
- "version": "4.3.8",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-4.3.8.tgz",
- "integrity": "sha512-5xYYv2TdXXM9PVixB79Pr99symQ8fhbVATjempGUxtL23/XUiRiLvJZohDxIE4VQ2EzbB4g4j8Y7oqPjj0h09Q==",
- "requires": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@stacks/common": "^4.3.5",
- "@stacks/network": "^4.3.5",
- "@types/node": "^18.0.4",
- "@types/sha.js": "^2.4.0",
- "c32check": "^1.1.3",
- "lodash.clonedeep": "^4.5.0",
- "ripemd160-min": "^0.0.6",
- "sha.js": "^2.4.11",
- "smart-buffer": "^4.1.0"
- }
- }
- }
- },
- "@stacks/transactions": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-4.3.2.tgz",
- "integrity": "sha512-DzTVVCC4GQNI58asdshatv8f5zAuNKRtNbWEjs75HAmaD7x6qz73pC+BDaZwJHBBH1A3Hp8d5HC2LKlv7ymDlQ==",
- "requires": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@stacks/common": "^4.3.2",
- "@stacks/network": "^4.3.2",
- "@types/node": "^14.14.43",
- "@types/sha.js": "^2.4.0",
- "c32check": "^1.1.3",
- "lodash.clonedeep": "^4.5.0",
- "ripemd160-min": "^0.0.6",
- "sha.js": "^2.4.11",
- "smart-buffer": "^4.1.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.18.54",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz",
- "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw=="
- }
- }
- },
- "base-x": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
- "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "c32check": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz",
- "integrity": "sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==",
- "requires": {
- "base-x": "^3.0.8",
- "buffer": "^5.6.0",
- "cross-sha256": "^1.2.0"
- },
- "dependencies": {
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- }
- }
- },
- "jsontokens": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/jsontokens/-/jsontokens-3.1.1.tgz",
- "integrity": "sha512-qABuRXXrDP1XQrUm0/59h3kEBWtbyk/lS24t98iHvuAq7gyNA2lxqSQgATsbx8DzbMfOJmkmfjwLodd96lD/kw==",
- "requires": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "base64url": "^3.0.1",
- "ecdsa-sig-formatter": "^1.0.11"
- }
- },
- "schema-inspector": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/schema-inspector/-/schema-inspector-2.0.1.tgz",
- "integrity": "sha512-lqR4tOVfoqf9Z8cgX/zvXuWPnTWCqrc4WSgeSPDDc1bWbMABaqdSTY98xj7iRKHOIRtKjc4M8EWCgUu5ASlHkg==",
- "requires": {
- "async": "~2.6.3"
- }
- }
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@stacks/connect/-/connect-7.4.1.tgz",
+ "integrity": "sha512-kvF7Fnx8oMHNi/9At6UI6kThey+gYlYlbtsxhNL2VqflReXI8z3EndaMJ1WrD55ePIOoydAzV/Fx0rdNFjd4rQ==",
+ "requires": {
+ "@stacks/auth": "^6.1.1",
+ "@stacks/connect-ui": "6.1.2",
+ "@stacks/network": "^6.1.1",
+ "@stacks/profile": "^6.1.1",
+ "@stacks/transactions": "^6.1.1",
+ "jsontokens": "^4.0.1"
}
},
"@stacks/connect-ui": {
- "version": "5.5.4",
- "resolved": "https://registry.npmjs.org/@stacks/connect-ui/-/connect-ui-5.5.4.tgz",
- "integrity": "sha512-xstC05PoxpPeA2HWytkJp/NJBtDEPDUoHuUyyvpuqS7f95rsHyx/tLFWv9ElxWiIbeMPPDEQipoy6S1qnZb8jw==",
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/@stacks/connect-ui/-/connect-ui-6.1.2.tgz",
+ "integrity": "sha512-V4gUINXRDB2MO6YHk/JZZeApSnANrMFvIRv9qLBaJPamKsgeiCOBkiC88T7ucLVCz+NvCmS93Ntg4wytDIqdOg==",
"requires": {
"@stencil/core": "^2.17.1"
}
},
"@stacks/encryption": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-4.3.5.tgz",
- "integrity": "sha512-s7fPwGLHQc/4SMFq7W75wt5xNqUJcciDkyxSEA30I+ukFSjLlZnmxI91ElWD15MRq/oKNHBlS0URF0N37dEe1A==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-6.9.0.tgz",
+ "integrity": "sha512-hbpZ47eYgw9ZH5ly+GSgvw2Ffsu9L6d++2XIhvYSzL7yxYl4m1+FV5QYdJthJ2AS3vi8cI5otE254HTfCrhKzg==",
"requires": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@scure/bip39": "^1.1.0",
- "@stacks/common": "^4.3.5",
+ "@noble/hashes": "1.1.5",
+ "@noble/secp256k1": "1.7.1",
+ "@scure/bip39": "1.1.0",
+ "@stacks/common": "^6.8.1",
"@types/node": "^18.0.4",
+ "base64-js": "^1.5.1",
"bs58": "^5.0.0",
"ripemd160-min": "^0.0.6",
"varuint-bitcoin": "^1.1.2"
},
"dependencies": {
- "@stacks/common": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
- "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
- "requires": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4",
- "buffer": "^6.0.3"
- }
+ "@noble/hashes": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
+ "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ=="
}
}
},
@@ -16479,14 +15509,6 @@
"cross-fetch": "^3.1.5"
}
},
- "@stacks/prettier-config": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/@stacks/prettier-config/-/prettier-config-0.0.8.tgz",
- "integrity": "sha512-WpxCIB2wPk2TT0Zs9oABNQ7Y2wBx2sSqEeFtgJ1lBNY6bKT5B82l/CkbaHPmnUj0KOwauXaSv0rXnxomTNj9xA==",
- "requires": {
- "prettier": "^2.3.0"
- }
- },
"@stacks/profile": {
"version": "6.9.0",
"resolved": "https://registry.npmjs.org/@stacks/profile/-/profile-6.9.0.tgz",
@@ -16498,26 +15520,6 @@
"jsontokens": "^4.0.1",
"schema-inspector": "^2.0.2",
"zone-file": "^2.0.0-beta.3"
- },
- "dependencies": {
- "@noble/hashes": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
- "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ=="
- },
- "@stacks/transactions": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-6.9.0.tgz",
- "integrity": "sha512-hSs9+0Ew++GwMZMgPObOx0iVCQRxkiCqI+DHdPEikAmg2utpyLh2/txHOjfSIkQHvcBfJJ6O5KphmxDP4gUqiA==",
- "requires": {
- "@noble/hashes": "1.1.5",
- "@noble/secp256k1": "1.7.1",
- "@stacks/common": "^6.8.1",
- "@stacks/network": "^6.8.1",
- "c32check": "^2.0.0",
- "lodash.clonedeep": "^4.5.0"
- }
- }
}
},
"@stacks/stacks-blockchain-api-types": {
@@ -16536,301 +15538,47 @@
"@stacks/network": "^6.8.1",
"base64-js": "^1.5.1",
"jsontokens": "^4.0.1"
- },
- "dependencies": {
- "@noble/hashes": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
- "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ=="
- },
- "@scure/bip39": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz",
- "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==",
- "requires": {
- "@noble/hashes": "~1.1.1",
- "@scure/base": "~1.1.0"
- }
- },
- "@stacks/encryption": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-6.9.0.tgz",
- "integrity": "sha512-hbpZ47eYgw9ZH5ly+GSgvw2Ffsu9L6d++2XIhvYSzL7yxYl4m1+FV5QYdJthJ2AS3vi8cI5otE254HTfCrhKzg==",
- "requires": {
- "@noble/hashes": "1.1.5",
- "@noble/secp256k1": "1.7.1",
- "@scure/bip39": "1.1.0",
- "@stacks/common": "^6.8.1",
- "@types/node": "^18.0.4",
- "base64-js": "^1.5.1",
- "bs58": "^5.0.0",
- "ripemd160-min": "^0.0.6",
- "varuint-bitcoin": "^1.1.2"
- }
- }
}
},
"@stacks/transactions": {
- "version": "4.3.8",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-4.3.8.tgz",
- "integrity": "sha512-5xYYv2TdXXM9PVixB79Pr99symQ8fhbVATjempGUxtL23/XUiRiLvJZohDxIE4VQ2EzbB4g4j8Y7oqPjj0h09Q==",
- "requires": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@stacks/common": "^4.3.5",
- "@stacks/network": "^4.3.5",
- "@types/node": "^18.0.4",
- "@types/sha.js": "^2.4.0",
- "c32check": "^1.1.3",
- "lodash.clonedeep": "^4.5.0",
- "ripemd160-min": "^0.0.6",
- "sha.js": "^2.4.11",
- "smart-buffer": "^4.1.0"
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-6.9.0.tgz",
+ "integrity": "sha512-hSs9+0Ew++GwMZMgPObOx0iVCQRxkiCqI+DHdPEikAmg2utpyLh2/txHOjfSIkQHvcBfJJ6O5KphmxDP4gUqiA==",
+ "requires": {
+ "@noble/hashes": "1.1.5",
+ "@noble/secp256k1": "1.7.1",
+ "@stacks/common": "^6.8.1",
+ "@stacks/network": "^6.8.1",
+ "c32check": "^2.0.0",
+ "lodash.clonedeep": "^4.5.0"
},
"dependencies": {
- "@stacks/common": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
- "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
- "requires": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4",
- "buffer": "^6.0.3"
- }
- },
- "@stacks/network": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-4.3.5.tgz",
- "integrity": "sha512-TC4+AkuT6qi3MoEGxTftA+4BNp99QvGnI+qtKQkoA1m0KDr8b9hSBUhugJHRhQbWuo7D6q0+JagYEGxLID29Kw==",
- "requires": {
- "@stacks/common": "^4.3.5",
- "cross-fetch": "^3.1.5"
- }
- },
- "base-x": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
- "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "c32check": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz",
- "integrity": "sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==",
- "requires": {
- "base-x": "^3.0.8",
- "buffer": "^5.6.0",
- "cross-sha256": "^1.2.0"
- },
- "dependencies": {
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- }
- }
+ "@noble/hashes": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz",
+ "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ=="
}
}
},
"@stacks/wallet-sdk": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/wallet-sdk/-/wallet-sdk-5.0.3.tgz",
- "integrity": "sha512-9Alqqer8cauLLEuhSA3ryPTfCw3XZiZkZBbyed9+oNsha3beIBly5lspU2GHdz2alnsJ5jisjDUZeuDYVRFEuA==",
- "requires": {
- "@scure/bip32": "^1.1.0",
- "@scure/bip39": "^1.1.0",
- "@stacks/auth": "^5.0.3",
- "@stacks/common": "^5.0.3",
- "@stacks/encryption": "^5.0.3",
- "@stacks/network": "^5.0.3",
- "@stacks/profile": "^5.0.3",
- "@stacks/storage": "^5.0.3",
- "@stacks/transactions": "^5.0.3",
- "bitcoinjs-lib": "^5.2.0",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@stacks/wallet-sdk/-/wallet-sdk-6.9.0.tgz",
+ "integrity": "sha512-cNp8gilFYovVgFYSd+g+2ybVgDcY0vshhi23lweeiTViGAogURfDvZgczwQ9yoYzdHA8vMGy5PxV5W9dbrrbcQ==",
+ "requires": {
+ "@scure/bip32": "1.1.3",
+ "@scure/bip39": "1.1.0",
+ "@stacks/auth": "^6.9.0",
+ "@stacks/common": "^6.8.1",
+ "@stacks/encryption": "^6.9.0",
+ "@stacks/network": "^6.8.1",
+ "@stacks/profile": "^6.9.0",
+ "@stacks/storage": "^6.9.0",
+ "@stacks/transactions": "^6.9.0",
"buffer": "^6.0.3",
"c32check": "^2.0.0",
"jsontokens": "^4.0.1",
"triplesec": "^4.0.3",
"zone-file": "^2.0.0-beta.3"
- },
- "dependencies": {
- "@stacks/auth": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/auth/-/auth-5.0.3.tgz",
- "integrity": "sha512-bFP/H1IFAxU2FUu3KR0meUgXdmagkpjV9wAC7b5UDCVHWanU3c/GfCh0CIw10FbXov2aYlQJpCEFMBxweATVjg==",
- "requires": {
- "@stacks/common": "^5.0.3",
- "@stacks/encryption": "^5.0.3",
- "@stacks/network": "^5.0.3",
- "@stacks/profile": "^5.0.3",
- "cross-fetch": "^3.1.5",
- "jsontokens": "^4.0.1",
- "query-string": "^6.13.1"
- }
- },
- "@stacks/common": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/common/-/common-5.0.3.tgz",
- "integrity": "sha512-0c1L1xQAFI4p0oB8BrwU1ic3q91plceztzT6ZQizxWfAJFnELdYyO/nJlq9a3yIVV90iaLYgvYBTPW3b7LWrdg==",
- "requires": {
- "@types/bn.js": "^5.1.0",
- "@types/node": "^18.0.4"
- }
- },
- "@stacks/encryption": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/encryption/-/encryption-5.0.3.tgz",
- "integrity": "sha512-wM5wE2ldssJWF5zrE5MbGlBSqI6ZMDSWGtvg2AOqOG2ChoBPxcuVOdyj4ziBbX4vtdu61jjr7LLP+90/0MLcpQ==",
- "requires": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@scure/bip39": "^1.1.0",
- "@stacks/common": "^5.0.3",
- "@types/node": "^18.0.4",
- "base64-js": "^1.5.1",
- "bs58": "^5.0.0",
- "ripemd160-min": "^0.0.6",
- "varuint-bitcoin": "^1.1.2"
- }
- },
- "@stacks/network": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/network/-/network-5.0.3.tgz",
- "integrity": "sha512-9ZSKktElpgDst1SVI5K4ocmsrIKrIHVQMRTfLkVarNqMnk9zliLMXrmXef6Z3rszU7JbUWGbb8+F3ubhpfqZxg==",
- "requires": {
- "@stacks/common": "^5.0.3",
- "cross-fetch": "^3.1.5"
- }
- },
- "@stacks/profile": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/profile/-/profile-5.0.3.tgz",
- "integrity": "sha512-B+gAMK8svDrgFWGJu2EkokkgjkXUEJG+zsZuK3P1Aq2qCS2EiO+O0gLhUi8p38BiKEpkUVY4mI34QCzMn9zWiA==",
- "requires": {
- "@stacks/common": "^5.0.3",
- "@stacks/network": "^5.0.3",
- "@stacks/transactions": "^5.0.3",
- "jsontokens": "^4.0.1",
- "schema-inspector": "2.0.1",
- "zone-file": "^2.0.0-beta.3"
- }
- },
- "@stacks/storage": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/storage/-/storage-5.0.3.tgz",
- "integrity": "sha512-5JuQ5rUjXNtx3hhiUGWp5KTuGg4pvxXmYnro6u+3Bl6kN8Q5ZMwf0b5fWwCoRvxIPSPuMTsp9P+tlb9N/cWNVA==",
- "requires": {
- "@stacks/auth": "^5.0.3",
- "@stacks/common": "^5.0.3",
- "@stacks/encryption": "^5.0.3",
- "@stacks/network": "^5.0.3",
- "base64-js": "^1.5.1",
- "jsontokens": "^4.0.1"
- }
- },
- "@stacks/transactions": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-5.0.3.tgz",
- "integrity": "sha512-rLe7QYU+tzTs1Yudo82zh7oiWAwGxGiunFehgIZ6VgLgo/Oarf8+DWmmaAxSZpCsecxl4cuQxE3bDWwJZAA9rg==",
- "requires": {
- "@noble/hashes": "^1.0.0",
- "@noble/secp256k1": "^1.5.5",
- "@stacks/common": "^5.0.3",
- "@stacks/network": "^5.0.3",
- "c32check": "^2.0.0",
- "lodash.clonedeep": "^4.5.0"
- }
- },
- "base-x": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
- "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "bech32": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
- "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
- },
- "bip32": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/bip32/-/bip32-2.0.6.tgz",
- "integrity": "sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA==",
- "requires": {
- "@types/node": "10.12.18",
- "bs58check": "^2.1.1",
- "create-hash": "^1.2.0",
- "create-hmac": "^1.1.7",
- "tiny-secp256k1": "^1.1.3",
- "typeforce": "^1.11.5",
- "wif": "^2.0.6"
- },
- "dependencies": {
- "@types/node": {
- "version": "10.12.18",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz",
- "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ=="
- }
- }
- },
- "bitcoinjs-lib": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-5.2.0.tgz",
- "integrity": "sha512-5DcLxGUDejgNBYcieMIUfjORtUeNWl828VWLHJGVKZCb4zIS1oOySTUr0LGmcqJBQgTBz3bGbRQla4FgrdQEIQ==",
- "requires": {
- "bech32": "^1.1.2",
- "bip174": "^2.0.1",
- "bip32": "^2.0.4",
- "bip66": "^1.1.0",
- "bitcoin-ops": "^1.4.0",
- "bs58check": "^2.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.3",
- "merkle-lib": "^2.0.10",
- "pushdata-bitcoin": "^1.0.1",
- "randombytes": "^2.0.1",
- "tiny-secp256k1": "^1.1.1",
- "typeforce": "^1.11.3",
- "varuint-bitcoin": "^1.0.4",
- "wif": "^2.0.1"
- }
- },
- "bs58check": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz",
- "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
- "requires": {
- "bs58": "^4.0.0",
- "create-hash": "^1.1.0",
- "safe-buffer": "^5.1.2"
- },
- "dependencies": {
- "bs58": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
- "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==",
- "requires": {
- "base-x": "^3.0.2"
- }
- }
- }
- },
- "schema-inspector": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/schema-inspector/-/schema-inspector-2.0.1.tgz",
- "integrity": "sha512-lqR4tOVfoqf9Z8cgX/zvXuWPnTWCqrc4WSgeSPDDc1bWbMABaqdSTY98xj7iRKHOIRtKjc4M8EWCgUu5ASlHkg==",
- "requires": {
- "async": "~2.6.3"
- }
- }
}
},
"@stencil/core": {
@@ -17463,9 +16211,9 @@
}
},
"@types/sha.js": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@types/sha.js/-/sha.js-2.4.1.tgz",
- "integrity": "sha512-QHWKOJ4dkWB0OCfCoOFUZkhvpqUllcPs2WIhYFk7ugAprv3ts0z4nSuHtc0jlWBYLdPwfNRpVpv9pIpFSbYBYQ==",
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@types/sha.js/-/sha.js-2.4.4.tgz",
+ "integrity": "sha512-Qukd+D6S2Hm0wLVt2Vh+/eWBIoUt+wF8jWjBsG4F8EFQRwKtYvtXCPcNl2OEUQ1R+eTr3xuSaBYUyM3WD1x/Qw==",
"requires": {
"@types/node": "*"
}
@@ -18005,6 +16753,74 @@
"@ledgerhq/hw-transport": "^6.28.1",
"@stacks/transactions": "^4.1.0",
"varuint-bitcoin": "^1.1.2"
+ },
+ "dependencies": {
+ "@stacks/common": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/@stacks/common/-/common-4.3.5.tgz",
+ "integrity": "sha512-UuViiQ7fn3vdtTe3739aRzbl+wbukekeQuXgqt8d7nB2HC2HodD7GcHhpUga165cO35CD6lQUtj3vXxJb5Ga+A==",
+ "requires": {
+ "@types/bn.js": "^5.1.0",
+ "@types/node": "^18.0.4",
+ "buffer": "^6.0.3"
+ }
+ },
+ "@stacks/network": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/@stacks/network/-/network-4.3.5.tgz",
+ "integrity": "sha512-TC4+AkuT6qi3MoEGxTftA+4BNp99QvGnI+qtKQkoA1m0KDr8b9hSBUhugJHRhQbWuo7D6q0+JagYEGxLID29Kw==",
+ "requires": {
+ "@stacks/common": "^4.3.5",
+ "cross-fetch": "^3.1.5"
+ }
+ },
+ "@stacks/transactions": {
+ "version": "4.3.8",
+ "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-4.3.8.tgz",
+ "integrity": "sha512-5xYYv2TdXXM9PVixB79Pr99symQ8fhbVATjempGUxtL23/XUiRiLvJZohDxIE4VQ2EzbB4g4j8Y7oqPjj0h09Q==",
+ "requires": {
+ "@noble/hashes": "^1.0.0",
+ "@noble/secp256k1": "^1.5.5",
+ "@stacks/common": "^4.3.5",
+ "@stacks/network": "^4.3.5",
+ "@types/node": "^18.0.4",
+ "@types/sha.js": "^2.4.0",
+ "c32check": "^1.1.3",
+ "lodash.clonedeep": "^4.5.0",
+ "ripemd160-min": "^0.0.6",
+ "sha.js": "^2.4.11",
+ "smart-buffer": "^4.1.0"
+ }
+ },
+ "base-x": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
+ "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "c32check": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/c32check/-/c32check-1.1.3.tgz",
+ "integrity": "sha512-ADADE/PjAbJRlwpG3ShaOMbBUlJJZO7xaYSRD5Tub6PixQlgR4s36y9cvMf/YRGpkqX+QOxIdMw216iC320q9A==",
+ "requires": {
+ "base-x": "^3.0.8",
+ "buffer": "^5.6.0",
+ "cross-sha256": "^1.2.0"
+ },
+ "dependencies": {
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ }
+ }
+ }
}
},
"abab": {
@@ -18509,11 +17325,6 @@
"sha256-uint8array": "^0.10.3"
}
},
- "bitcoin-ops": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz",
- "integrity": "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow=="
- },
"bitcoinjs-lib": {
"version": "6.1.5",
"resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-6.1.5.tgz",
@@ -19536,11 +18347,6 @@
"ms": "2.1.2"
}
},
- "decode-uri-component": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
- "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ=="
- },
"deep-eql": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
@@ -20775,11 +19581,6 @@
"to-regex-range": "^5.0.1"
}
},
- "filter-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz",
- "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ=="
- },
"finalhandler": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
@@ -22664,11 +21465,6 @@
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
"dev": true
},
- "merkle-lib": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/merkle-lib/-/merkle-lib-2.0.10.tgz",
- "integrity": "sha512-XrNQvUbn1DL5hKNe46Ccs+Tu3/PYOlrcZILuGUhb95oKBPjc/nmIC8D462PQkipVDGKRvwhn+QFg2cCdIvmDJA=="
- },
"methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
@@ -23479,7 +22275,8 @@
"prettier": {
"version": "2.8.8",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true
},
"prettier-linter-helpers": {
"version": "1.0.0",
@@ -23611,14 +22408,6 @@
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
"dev": true
},
- "pushdata-bitcoin": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz",
- "integrity": "sha512-hw7rcYTJRAl4olM8Owe8x0fBuJJ+WGbMhQuLWOXEMN3PxPCKQHRkhfL+XG0+iXUmSHjkMmb3Ba55Mt21cZc9kQ==",
- "requires": {
- "bitcoin-ops": "^1.3.0"
- }
- },
"qr-code-styling": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/qr-code-styling/-/qr-code-styling-1.5.0.tgz",
@@ -23637,25 +22426,6 @@
"resolved": "https://registry.npmjs.org/qrcode-generator/-/qrcode-generator-1.4.4.tgz",
"integrity": "sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw=="
},
- "qs": {
- "version": "6.11.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
- "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
- "requires": {
- "side-channel": "^1.0.4"
- }
- },
- "query-string": {
- "version": "6.14.1",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz",
- "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==",
- "requires": {
- "decode-uri-component": "^0.2.0",
- "filter-obj": "^1.1.0",
- "split-on-first": "^1.0.0",
- "strict-uri-encode": "^2.0.0"
- }
- },
"queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -24659,11 +23429,6 @@
"wbuf": "^1.7.3"
}
},
- "split-on-first": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
- "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw=="
- },
"stackback": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
@@ -24705,11 +23470,6 @@
"readable-stream": "^3.5.0"
}
},
- "strict-uri-encode": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
- "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ=="
- },
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -24981,25 +23741,6 @@
"integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
"dev": true
},
- "tiny-secp256k1": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz",
- "integrity": "sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA==",
- "requires": {
- "bindings": "^1.3.0",
- "bn.js": "^4.11.8",
- "create-hmac": "^1.1.7",
- "elliptic": "^6.4.0",
- "nan": "^2.13.2"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
- }
- }
- },
"tinybench": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz",
@@ -25422,22 +24163,6 @@
"punycode": "^2.1.0"
}
},
- "url": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz",
- "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==",
- "requires": {
- "punycode": "^1.4.1",
- "qs": "^6.11.0"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
- }
- }
- },
"use-isomorphic-layout-effect": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz",
diff --git a/package.json b/package.json
index c03ffa383..d4d5692f3 100644
--- a/package.json
+++ b/package.json
@@ -10,11 +10,10 @@
"@ledgerhq/hw-transport-webusb": "^6.27.13",
"@phosphor-icons/react": "^2.0.10",
"@react-spring/web": "^9.6.1",
- "@secretkeylabs/xverse-core": "6.0.1",
- "@stacks/connect": "^6.10.2",
- "@stacks/encryption": "4.3.5",
+ "@secretkeylabs/xverse-core": "7.0.0",
+ "@stacks/connect": "7.4.1",
"@stacks/stacks-blockchain-api-types": "6.1.1",
- "@stacks/transactions": "4.3.8",
+ "@stacks/transactions": "6.9.0",
"@tanstack/query-sync-storage-persister": "^4.29.1",
"@tanstack/react-query": "^4.29.3",
"@tanstack/react-query-devtools": "^4.29.3",
diff --git a/src/app/components/confirmStxTransactionComponent/index.tsx b/src/app/components/confirmStxTransactionComponent/index.tsx
index de189144e..7b23effcb 100644
--- a/src/app/components/confirmStxTransactionComponent/index.tsx
+++ b/src/app/components/confirmStxTransactionComponent/index.tsx
@@ -129,9 +129,10 @@ interface Props {
isAsset?: boolean;
title?: string;
subTitle?: string;
+ hasSignatures?: boolean;
}
-function ConfirmStxTransationComponent({
+function ConfirmStxTransactionComponent({
initialStxTransactions,
loading,
isSponsored,
@@ -142,6 +143,7 @@ function ConfirmStxTransationComponent({
onConfirmClick,
onCancelClick,
skipModal = false,
+ hasSignatures = false,
}: Props) {
const { t } = useTranslation('translation', { keyPrefix: 'CONFIRM_TRANSACTION' });
const { t: signatureRequestTranslate } = useTranslation('translation', {
@@ -280,7 +282,7 @@ function ConfirmStxTransationComponent({
try {
const signedTxs = await signLedgerStxTransaction({
transport,
- transactionBuffer: initialStxTransactions[0].serialize(),
+ transactionBuffer: Buffer.from(initialStxTransactions[0].serialize()),
addressIndex: selectedAccount.deviceAccountIndex,
});
setIsTxApproved(true);
@@ -334,12 +336,14 @@ function ConfirmStxTransationComponent({
{isSponsored ? (
{t('SPONSORED_TX_INFO')}
) : (
-
+ !hasSignatures && (
+
+ )
)}
{
setNonce(nonceInput);
- }, [nonceInput]);
+ }, [nonceInput, setNonce]);
return (
diff --git a/src/app/components/transactionsRequests/ContractCallRequest.tsx b/src/app/components/transactionsRequests/ContractCallRequest.tsx
index f20a09173..143401f64 100644
--- a/src/app/components/transactionsRequests/ContractCallRequest.tsx
+++ b/src/app/components/transactionsRequests/ContractCallRequest.tsx
@@ -1,5 +1,5 @@
import AccountHeaderComponent from '@components/accountHeader';
-import ConfirmStxTransationComponent from '@components/confirmStxTransactionComponent';
+import ConfirmStxTransactionComponent from '@components/confirmStxTransactionComponent';
import InfoContainer from '@components/infoContainer';
import FtPostConditionCard from '@components/postCondition/ftPostConditionCard';
import NftPostConditionCard from '@components/postCondition/nftPostConditionCard';
@@ -11,15 +11,18 @@ import {
addressToString,
Args,
broadcastSignedTransaction,
+ buf2hex,
Coin,
ContractFunction,
extractFromPayload,
+ isMultiSig,
} from '@secretkeylabs/xverse-core';
import { ContractCallPayload } from '@stacks/connect';
import {
ClarityType,
cvToJSON,
cvToString,
+ MultiSigSpendingCondition,
PostConditionType,
SomeCV,
StacksTransaction,
@@ -85,6 +88,12 @@ export default function ContractCallRequest(props: ContractCallRequestProps) {
const [hasTabClosed, setHasTabClosed] = useState(false);
const { t } = useTranslation('translation');
+ // SignTransaction Params
+ const isMultiSigTx = isMultiSig(unsignedTx);
+ const hasSignatures =
+ isMultiSigTx &&
+ (unsignedTx.auth.spendingCondition as MultiSigSpendingCondition).fields?.length > 0;
+
useOnOriginTabClose(tabId, () => {
setHasTabClosed(true);
window.scrollTo({ top: 0, behavior: 'smooth' });
@@ -175,7 +184,7 @@ export default function ContractCallRequest(props: ContractCallRequestProps) {
finalizeTxSignature({
requestPayload: requestToken,
tabId,
- data: { txId: broadcastResult, txRaw: tx[0].serialize().toString('hex') },
+ data: { txId: broadcastResult, txRaw: buf2hex(tx[0].serialize()) },
});
navigate('/tx-status', {
state: {
@@ -208,6 +217,13 @@ export default function ContractCallRequest(props: ContractCallRequestProps) {
browserTx: true,
},
});
+ } else if (isMultiSigTx) {
+ finalizeTxSignature({
+ requestPayload: requestToken,
+ tabId,
+ data: { txId: '', txRaw: buf2hex(unsignedTx.serialize()) },
+ });
+ window.close();
} else {
broadcastTx(transactions, attachment);
}
@@ -248,13 +264,14 @@ export default function ContractCallRequest(props: ContractCallRequestProps) {
return (
<>
-
<>
{hasTabClosed && (
@@ -272,7 +289,7 @@ export default function ContractCallRequest(props: ContractCallRequestProps) {
/>
{functionArgsView()}
>
-
+
>
);
}
diff --git a/src/app/components/transactionsRequests/ContractDeployTransaction.tsx b/src/app/components/transactionsRequests/ContractDeployTransaction.tsx
index de5baf627..3d0568b37 100644
--- a/src/app/components/transactionsRequests/ContractDeployTransaction.tsx
+++ b/src/app/components/transactionsRequests/ContractDeployTransaction.tsx
@@ -1,13 +1,13 @@
import DownloadImage from '@assets/img/webInteractions/ArrowLineDown.svg';
import AccountHeaderComponent from '@components/accountHeader';
-import ConfirmStxTransationComponent from '@components/confirmStxTransactionComponent';
+import ConfirmStxTransactionComponent from '@components/confirmStxTransactionComponent';
import InfoContainer from '@components/infoContainer';
import StxPostConditionCard from '@components/postCondition/stxPostConditionCard';
import TransactionDetailComponent from '@components/transactionDetailComponent';
import useNetworkSelector from '@hooks/useNetwork';
import useOnOriginTabClose from '@hooks/useOnTabClosed';
-import { broadcastSignedTransaction } from '@secretkeylabs/xverse-core';
-import { PostCondition, StacksTransaction } from '@stacks/transactions';
+import { broadcastSignedTransaction, buf2hex, isMultiSig } from '@secretkeylabs/xverse-core';
+import { MultiSigSpendingCondition, PostCondition, StacksTransaction } from '@stacks/transactions';
import { useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useNavigate } from 'react-router-dom';
@@ -111,6 +111,12 @@ export default function ContractDeployRequest(props: ContractDeployRequestProps)
const [loaderForBroadcastingTx, setLoaderForBroadcastingTx] = useState(false);
const navigate = useNavigate();
+ // SignTransaction Params
+ const isMultiSigTx = isMultiSig(unsignedTx);
+ const hasSignatures =
+ isMultiSigTx &&
+ (unsignedTx.auth.spendingCondition as MultiSigSpendingCondition).fields?.length > 0;
+
useOnOriginTabClose(tabId, () => {
setHasTabClosed(true);
window.scrollTo({ top: 0, behavior: 'smooth' });
@@ -124,7 +130,7 @@ export default function ContractDeployRequest(props: ContractDeployRequestProps)
finalizeTxSignature({
requestPayload: requestToken,
tabId,
- data: { txId: broadcastResult, txRaw: tx[0].serialize().toString('hex') },
+ data: { txId: broadcastResult, txRaw: buf2hex(tx[0].serialize()) },
});
navigate('/tx-status', {
state: {
@@ -160,6 +166,13 @@ export default function ContractDeployRequest(props: ContractDeployRequestProps)
browserTx: true,
},
});
+ } else if (isMultiSigTx) {
+ finalizeTxSignature({
+ requestPayload: requestToken,
+ tabId,
+ data: { txId: '', txRaw: buf2hex(unsignedTx.serialize()) },
+ });
+ window.close();
} else {
broadcastTx(txs);
}
@@ -199,13 +212,14 @@ export default function ContractDeployRequest(props: ContractDeployRequestProps)
return (
<>
-
{hasTabClosed && (
-
+
>
);
}
diff --git a/src/app/hooks/queries/useStxPendingTxData.ts b/src/app/hooks/queries/useStxPendingTxData.ts
index deee18a34..b37b87936 100644
--- a/src/app/hooks/queries/useStxPendingTxData.ts
+++ b/src/app/hooks/queries/useStxPendingTxData.ts
@@ -1,4 +1,4 @@
-import { fetchStxPendingTxData } from '@secretkeylabs/xverse-core';
+import { fetchStxPendingTxData, StxPendingTxData } from '@secretkeylabs/xverse-core';
import { StoreState } from '@stores/index';
import { useQuery } from '@tanstack/react-query';
import { useSelector } from 'react-redux';
@@ -9,7 +9,7 @@ const useStxPendingTxData = () => {
const selectedNetwork = useNetworkSelector();
const result = useQuery({
queryKey: ['stx-pending-transaction', { stxAddress, selectedNetwork }],
- queryFn: () => fetchStxPendingTxData(stxAddress, selectedNetwork),
+ queryFn: (): Promise => fetchStxPendingTxData(stxAddress, selectedNetwork),
});
return result;
};
diff --git a/src/app/hooks/queries/useStxWalletData.ts b/src/app/hooks/queries/useStxWalletData.ts
index 0b33b3580..bd4d17a5e 100644
--- a/src/app/hooks/queries/useStxWalletData.ts
+++ b/src/app/hooks/queries/useStxWalletData.ts
@@ -7,6 +7,7 @@ import { useDispatch } from 'react-redux';
import useNetworkSelector from '../useNetwork';
import useWalletSelector from '../useWalletSelector';
+// TODO refactor: no need to put this in store. use this hook instead
export const useStxWalletData = () => {
const dispatch = useDispatch();
const { stxAddress } = useWalletSelector();
diff --git a/src/app/hooks/useStxTransactionRequest.ts b/src/app/hooks/useStxTransactionRequest.ts
new file mode 100644
index 000000000..3597af09c
--- /dev/null
+++ b/src/app/hooks/useStxTransactionRequest.ts
@@ -0,0 +1,41 @@
+import { txPayloadToRequest } from '@secretkeylabs/xverse-core';
+import { deserializeTransaction } from '@stacks/transactions';
+import { decodeToken } from 'jsontokens';
+import { useLocation } from 'react-router-dom';
+
+const useStxTransactionRequest = () => {
+ const { search } = useLocation();
+ const params = new URLSearchParams(search);
+ const requestToken = params.get('request') ?? '';
+ const request = decodeToken(requestToken) as any;
+ const tabId = params.get('tabId') ?? '0';
+ const stacksTransaction = request.payload.txHex
+ ? deserializeTransaction(request.payload.txHex!)
+ : undefined;
+
+ const getPayload = () => {
+ if (stacksTransaction) {
+ const txPayload = txPayloadToRequest(
+ stacksTransaction,
+ request.payload.stxAddress,
+ request.payload.attachment,
+ );
+ return {
+ ...request.payload,
+ ...txPayload,
+ };
+ }
+ return request.payload;
+ };
+
+ const txPayload = getPayload();
+
+ return {
+ payload: txPayload,
+ stacksTransaction,
+ tabId,
+ requestToken,
+ };
+};
+
+export default useStxTransactionRequest;
diff --git a/src/app/hooks/useTransationRequest.ts b/src/app/hooks/useTransationRequest.ts
deleted file mode 100644
index 04d8e05c7..000000000
--- a/src/app/hooks/useTransationRequest.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { decodeToken } from 'jsontokens';
-import { useLocation } from 'react-router-dom';
-
-const useDappRequest = () => {
- const { search } = useLocation();
- const params = new URLSearchParams(search);
- const requestToken = params.get('request') ?? '';
- const request = decodeToken(requestToken) as any;
- const tabId = params.get('tabId') ?? '0';
- return {
- payload: request.payload,
- tabId,
- requestToken,
- };
-};
-
-export default useDappRequest;
diff --git a/src/app/screens/confirmFtTransaction/index.tsx b/src/app/screens/confirmFtTransaction/index.tsx
index 00d68aaf6..54ebed157 100644
--- a/src/app/screens/confirmFtTransaction/index.tsx
+++ b/src/app/screens/confirmFtTransaction/index.tsx
@@ -1,5 +1,5 @@
import { ConfirmStxTransactionState, LedgerTransactionType } from '@common/types/ledger';
-import ConfirmStxTransationComponent from '@components/confirmStxTransactionComponent';
+import ConfirmStxTransactionComponent from '@components/confirmStxTransactionComponent';
import TransferMemoView from '@components/confirmStxTransactionComponent/transferMemoView';
import RecipientComponent from '@components/recipientComponent';
import BottomBar from '@components/tabBar';
@@ -73,7 +73,7 @@ function ConfirmFtTransaction() {
if (isLedgerAccount(selectedAccount)) {
const type: LedgerTransactionType = 'STX';
const state: ConfirmStxTransactionState = {
- unsignedTx: unsignedTx.serialize(),
+ unsignedTx: Buffer.from(unsignedTx.serialize()),
type,
recipients: [{ address: recepientAddress, amountMicrostacks: new BigNumber(amount) }],
fee: new BigNumber(unsignedTx.auth.spendingCondition.fee.toString()),
@@ -100,7 +100,7 @@ function ConfirmFtTransaction() {
return (
<>
-
{memo && }
-
+
>
);
diff --git a/src/app/screens/confirmNftTransaction/index.tsx b/src/app/screens/confirmNftTransaction/index.tsx
index a3f6b209e..df0c9ef0d 100644
--- a/src/app/screens/confirmNftTransaction/index.tsx
+++ b/src/app/screens/confirmNftTransaction/index.tsx
@@ -1,7 +1,7 @@
import AssetIcon from '@assets/img/transactions/Assets.svg';
import { ConfirmStxTransactionState, LedgerTransactionType } from '@common/types/ledger';
import AccountHeaderComponent from '@components/accountHeader';
-import ConfirmStxTransationComponent from '@components/confirmStxTransactionComponent';
+import ConfirmStxTransactionComponent from '@components/confirmStxTransactionComponent';
import RecipientComponent from '@components/recipientComponent';
import BottomBar from '@components/tabBar';
import TopRow from '@components/topRow';
@@ -121,7 +121,7 @@ function ConfirmNftTransaction() {
if (isLedgerAccount(selectedAccount)) {
const type: LedgerTransactionType = 'STX';
const state: ConfirmStxTransactionState = {
- unsignedTx: unsignedTx.serialize(),
+ unsignedTx: Buffer.from(unsignedTx.serialize()),
type,
recipients: [
{
@@ -159,7 +159,7 @@ function ConfirmNftTransaction() {
)}
{!isGalleryOpen && }
-
-
+
{!isGalleryOpen && }
>
diff --git a/src/app/screens/confirmStxTransaction/index.tsx b/src/app/screens/confirmStxTransaction/index.tsx
index 1f1ea17e5..62544c0b6 100644
--- a/src/app/screens/confirmStxTransaction/index.tsx
+++ b/src/app/screens/confirmStxTransaction/index.tsx
@@ -1,6 +1,7 @@
import IconStacks from '@assets/img/dashboard/stack_icon.svg';
import { ConfirmStxTransactionState, LedgerTransactionType } from '@common/types/ledger';
import AccountHeaderComponent from '@components/accountHeader';
+import ConfirmStxTransactionComponent from '@components/confirmStxTransactionComponent';
import TransferMemoView from '@components/confirmStxTransactionComponent/transferMemoView';
import InfoContainer from '@components/infoContainer';
import RecipientComponent from '@components/recipientComponent';
@@ -15,12 +16,14 @@ import useWalletSelector from '@hooks/useWalletSelector';
import {
addressToString,
broadcastSignedTransaction,
+ buf2hex,
getStxFiatEquivalent,
+ isMultiSig,
microstacksToStx,
StacksTransaction,
TokenTransferPayload,
} from '@secretkeylabs/xverse-core';
-import { deserializeTransaction } from '@stacks/transactions';
+import { deserializeTransaction, MultiSigSpendingCondition } from '@stacks/transactions';
import { useMutation } from '@tanstack/react-query';
import { isLedgerAccount } from '@utils/helper';
import BigNumber from 'bignumber.js';
@@ -28,7 +31,6 @@ import { useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useLocation, useNavigate } from 'react-router-dom';
import styled from 'styled-components';
-import ConfirmStxTransationComponent from '../../components/confirmStxTransactionComponent';
const AlertContainer = styled.div((props) => ({
marginTop: props.theme.spacing(12),
@@ -46,16 +48,28 @@ function ConfirmStxTransaction() {
const [txRaw, setTxRaw] = useState('');
const [memo, setMemo] = useState('');
const navigate = useNavigate();
- const location = useLocation();
const selectedNetwork = useNetworkSelector();
+ const { stxBtcRate, btcFiatRate, network, selectedAccount } = useWalletSelector();
+ const { refetch } = useStxWalletData();
+
+ const location = useLocation();
const { unsignedTx: stringHex, sponsored, isBrowserTx, tabId, requestToken } = location.state;
const unsignedTx = useMemo(() => deserializeTransaction(stringHex), [stringHex]);
+
+ // SignTransaction Params
+ const isMultiSigTx = useMemo(() => isMultiSig(unsignedTx), [unsignedTx]);
+ const hasSignatures = useMemo(
+ () =>
+ isMultiSigTx &&
+ (unsignedTx.auth.spendingCondition as MultiSigSpendingCondition).fields?.length > 0,
+ [unsignedTx, isMultiSigTx],
+ );
+
useOnOriginTabClose(Number(tabId), () => {
setHasTabClosed(true);
window.scrollTo({ top: 0, behavior: 'smooth' });
});
- const { stxBtcRate, btcFiatRate, network, selectedAccount } = useWalletSelector();
- const { refetch } = useStxWalletData();
+
const {
isLoading,
error: txError,
@@ -146,7 +160,7 @@ function ConfirmStxTransaction() {
if (isLedgerAccount(selectedAccount)) {
const type: LedgerTransactionType = 'STX';
const state: ConfirmStxTransactionState = {
- unsignedTx: unsignedTx.serialize(),
+ unsignedTx: Buffer.from(unsignedTx.serialize()),
type,
recipients: [{ address: recipient, amountMicrostacks: amount }],
fee,
@@ -155,9 +169,19 @@ function ConfirmStxTransaction() {
navigate('/confirm-ledger-tx', { state });
return;
}
-
- setTxRaw(txs[0].serialize().toString('hex'));
- mutate({ signedTx: txs[0] });
+ const rawTx = buf2hex(txs[0].serialize());
+ setTxRaw(rawTx);
+ if (isMultiSigTx && isBrowserTx) {
+ finalizeTxSignature({
+ requestPayload: requestToken,
+ tabId: Number(tabId),
+ // No TxId since the tx was not broadcasted
+ data: { txId: '', txRaw: rawTx },
+ });
+ window.close();
+ } else {
+ mutate({ signedTx: txs[0] });
+ }
};
const handleCancelClick = () => {
@@ -182,13 +206,14 @@ function ConfirmStxTransaction() {
) : (
)}
-
)}
-
+
{!isBrowserTx && }
>
);
diff --git a/src/app/screens/sendFt/index.tsx b/src/app/screens/sendFt/index.tsx
index f899b98ab..9cde1843a 100644
--- a/src/app/screens/sendFt/index.tsx
+++ b/src/app/screens/sendFt/index.tsx
@@ -5,6 +5,7 @@ import useStxPendingTxData from '@hooks/queries/useStxPendingTxData';
import useNetworkSelector from '@hooks/useNetwork';
import useWalletSelector from '@hooks/useWalletSelector';
import {
+ buf2hex,
generateUnsignedTransaction,
StacksTransaction,
UnsignedStacksTransation,
@@ -85,7 +86,7 @@ function SendFtScreen() {
if (data) {
navigate('/confirm-ft-tx', {
state: {
- unsignedTx: data.serialize().toString('hex'),
+ unsignedTx: buf2hex(data.serialize()),
amount: amountToSend.toString(),
fungibleToken,
memo: txMemo,
diff --git a/src/app/screens/sendNft/index.tsx b/src/app/screens/sendNft/index.tsx
index d2e5aede6..bf849992e 100644
--- a/src/app/screens/sendNft/index.tsx
+++ b/src/app/screens/sendNft/index.tsx
@@ -7,6 +7,7 @@ import useNetworkSelector from '@hooks/useNetwork';
import { useResetUserFlow } from '@hooks/useResetUserFlow';
import useWalletSelector from '@hooks/useWalletSelector';
import {
+ buf2hex,
cvToHex,
generateUnsignedTransaction,
StacksTransaction,
@@ -142,7 +143,7 @@ function SendNft() {
if (data) {
navigate(`/confirm-nft-tx/${id}`, {
state: {
- unsignedTx: data.serialize().toString('hex'),
+ unsignedTx: buf2hex(data.serialize()),
recipientAddress,
},
});
diff --git a/src/app/screens/sendStx/index.tsx b/src/app/screens/sendStx/index.tsx
index b741d365a..773b77cda 100644
--- a/src/app/screens/sendStx/index.tsx
+++ b/src/app/screens/sendStx/index.tsx
@@ -4,6 +4,7 @@ import useStxPendingTxData from '@hooks/queries/useStxPendingTxData';
import useNetworkSelector from '@hooks/useNetwork';
import useWalletSelector from '@hooks/useWalletSelector';
import {
+ buf2hex,
generateUnsignedStxTokenTransferTransaction,
microstacksToStx,
StacksTransaction,
@@ -13,9 +14,9 @@ import {
import { useMutation } from '@tanstack/react-query';
import { replaceCommaByDot } from '@utils/helper';
import BigNumber from 'bignumber.js';
-import { useEffect, useState } from 'react';
+import { useEffect,useState } from 'react';
import { useTranslation } from 'react-i18next';
-import { useLocation, useNavigate } from 'react-router-dom';
+import { useLocation,useNavigate } from 'react-router-dom';
import TopRow from '../../components/topRow';
function SendStxScreen() {
@@ -68,7 +69,7 @@ function SendStxScreen() {
if (data) {
navigate('/confirm-stx-tx', {
state: {
- unsignedTx: data.serialize().toString('hex'),
+ unsignedTx: buf2hex(data.serialize()),
},
});
}
diff --git a/src/app/screens/signatureRequest/clarityMessageView.tsx b/src/app/screens/signatureRequest/clarityMessageView.tsx
index b31df8c01..734352da0 100644
--- a/src/app/screens/signatureRequest/clarityMessageView.tsx
+++ b/src/app/screens/signatureRequest/clarityMessageView.tsx
@@ -1,5 +1,5 @@
-import { bytesToHex, ClarityType, ClarityValue, cvToString } from '@stacks/transactions';
-import { principalToString } from '@stacks/transactions/dist/esm/clarity/types/principalCV';
+import { buf2hex } from '@secretkeylabs/xverse-core';
+import { ClarityType, ClarityValue, cvToString,principalToString } from '@stacks/transactions';
import styled from 'styled-components';
const Container = styled.div<{ isRoot: boolean }>((props) => ({
@@ -56,7 +56,7 @@ export default function ClarityMessageView(props: ClarityMessageViewProps) {
const str = bytesToAscii(val.buffer);
if (/[ -~]/.test(str)) return wrapText(JSON.stringify(str));
}
- return wrapText(`0x${bytesToHex(val.buffer)}`);
+ return wrapText(`0x${buf2hex(val.buffer)}`);
case ClarityType.OptionalNone:
return wrapText('none');
case ClarityType.OptionalSome:
diff --git a/src/app/screens/signatureRequest/index.tsx b/src/app/screens/signatureRequest/index.tsx
index d5a6d64cb..728d51659 100644
--- a/src/app/screens/signatureRequest/index.tsx
+++ b/src/app/screens/signatureRequest/index.tsx
@@ -18,9 +18,8 @@ import useSignatureRequest, {
import useWalletReducer from '@hooks/useWalletReducer';
import useWalletSelector from '@hooks/useWalletSelector';
import Transport from '@ledgerhq/hw-transport-webusb';
-import { bip0322Hash, hashMessage, signStxMessage } from '@secretkeylabs/xverse-core';
+import { bip0322Hash, hashMessage, signStxMessage, buf2hex } from '@secretkeylabs/xverse-core';
import { SignaturePayload, StructuredDataSignaturePayload } from '@stacks/connect';
-import { bytesToHex } from '@stacks/transactions';
import { getNetworkType, getTruncatedAddress, isHardwareAccount } from '@utils/helper';
import { handleBip322LedgerMessageSigning, signatureVrsToRsv } from '@utils/ledger';
import { useCallback, useEffect, useState } from 'react';
@@ -341,7 +340,7 @@ function SignatureRequest(): JSX.Element {
const getMessageHash = useCallback(() => {
if (!isSignMessageBip322) {
- return bytesToHex(hashMessage(payload.message));
+ return buf2hex(hashMessage(payload.message));
}
return bip0322Hash(payload.message);
}, [isSignMessageBip322, payload.message]);
diff --git a/src/app/screens/swap/useAlexSponsoredTransaction.ts b/src/app/screens/swap/useAlexSponsoredTransaction.ts
index 49e8d46ea..79395cbd1 100644
--- a/src/app/screens/swap/useAlexSponsoredTransaction.ts
+++ b/src/app/screens/swap/useAlexSponsoredTransaction.ts
@@ -1,6 +1,7 @@
import useStxPendingTxData from '@hooks/queries/useStxPendingTxData';
import useWalletSelector from '@hooks/useWalletSelector';
-import { StacksTransaction } from '@secretkeylabs/xverse-core';
+import { buf2hex } from '@secretkeylabs/xverse-core';
+import { StacksTransaction } from '@stacks/transactions';
import { useQuery } from '@tanstack/react-query';
import { AlexSDK } from 'alex-sdk';
import { useEffect, useRef, useState } from 'react';
@@ -24,7 +25,7 @@ export const useAlexSponsoredTransaction = (userOverrideSponsorValue: boolean) =
}, [isEnabled, error, isLoading]);
const sponsorTransaction = async (signed: StacksTransaction) =>
- alexSDK.broadcastSponsoredTx(signed.serialize().toString('hex'));
+ alexSDK.broadcastSponsoredTx(buf2hex(signed.serialize()));
const { data: stxPendingTxData } = useStxPendingTxData();
const upcomingPendingTransactionNonce =
diff --git a/src/app/screens/swap/useSwap.tsx b/src/app/screens/swap/useSwap.tsx
index 23cab0a01..a2a846d77 100644
--- a/src/app/screens/swap/useSwap.tsx
+++ b/src/app/screens/swap/useSwap.tsx
@@ -7,6 +7,7 @@ import {
getNonce,
microstacksToStx,
setNonce,
+ buf2hex
} from '@secretkeylabs/xverse-core';
import { AnchorMode, makeUnsignedContractCall, PostConditionMode } from '@stacks/transactions';
import { AlexSDK, Currency } from 'alex-sdk';
@@ -278,7 +279,7 @@ export function useSwap(): UseSwap {
txFeeAmount: fee,
txFeeFiatAmount: currencyToToken(Currency.STX, fee)?.fiatAmount,
routers: info.route.map(currencyToToken).filter(isNotNull),
- unsignedTx: unsignedTx.serialize().toString('hex'),
+ unsignedTx: buf2hex(unsignedTx.serialize()),
functionName: `${tx.contractName}\n${tx.functionName}`,
userOverrideSponsorValue,
};
diff --git a/src/app/screens/transactionRequest/helper.ts b/src/app/screens/transactionRequest/helper.ts
deleted file mode 100644
index 93b5962a2..000000000
--- a/src/app/screens/transactionRequest/helper.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import {
- createContractCallPromises,
- FeesMultipliers,
- generateUnsignedStxTokenTransferTransaction,
- StacksNetwork,
- StacksTransaction,
-} from '@secretkeylabs/xverse-core';
-import { TransactionPayload } from '@stacks/connect';
-
-export async function getContractCallPromises(
- payload: TransactionPayload,
- stxAddress: string,
- network: StacksNetwork,
- stxPublicKey: string,
-) {
- const [unSignedContractCall, contractInterface, coinsMetaData, showPostConditionMessage] =
- await createContractCallPromises(payload, stxAddress, network, stxPublicKey);
- return {
- unSignedContractCall,
- contractInterface,
- coinsMetaData,
- showPostConditionMessage,
- };
-}
-
-export async function getTokenTransferRequest(
- recipient: string,
- amount: string,
- memo: string,
- stxPublicKey: string,
- feeMultipliers: FeesMultipliers,
- network: StacksNetwork,
- stxPendingTransactions,
-) {
- const unsignedSendStxTx: StacksTransaction = await generateUnsignedStxTokenTransferTransaction(
- recipient,
- amount,
- memo!,
- stxPendingTransactions?.pendingTransactions ?? [],
- stxPublicKey,
- network,
- );
- // increasing the fees with multiplication factor
- const fee: bigint = BigInt(unsignedSendStxTx.auth.spendingCondition.fee.toString()) ?? BigInt(0);
- if (feeMultipliers?.stxSendTxMultiplier) {
- unsignedSendStxTx.setFee(fee * BigInt(feeMultipliers.stxSendTxMultiplier));
- }
- return unsignedSendStxTx;
-}
diff --git a/src/app/screens/transactionRequest/index.tsx b/src/app/screens/transactionRequest/index.tsx
index dff53f42c..504c99eee 100644
--- a/src/app/screens/transactionRequest/index.tsx
+++ b/src/app/screens/transactionRequest/index.tsx
@@ -1,23 +1,28 @@
import ContractCallRequest from '@components/transactionsRequests/ContractCallRequest';
import ContractDeployRequest from '@components/transactionsRequests/ContractDeployTransaction';
import useNetworkSelector from '@hooks/useNetwork';
-import useDappRequest from '@hooks/useTransationRequest';
+import useStxTransactionRequest from '@hooks/useStxTransactionRequest';
import useWalletReducer from '@hooks/useWalletReducer';
import useWalletSelector from '@hooks/useWalletSelector';
import {
+ Account,
+ buf2hex,
Coin,
ContractFunction,
createDeployContractRequest,
extractFromPayload,
fetchStxPendingTxData,
+ getContractCallPromises,
+ getTokenTransferRequest,
} from '@secretkeylabs/xverse-core';
+import { ContractCallPayload, ContractDeployPayload } from '@stacks/connect';
import { StacksTransaction } from '@stacks/transactions';
import { getNetworkType, isHardwareAccount } from '@utils/helper';
import { useEffect, useState } from 'react';
+import toast from 'react-hot-toast';
import { useNavigate } from 'react-router-dom';
import { MoonLoader } from 'react-spinners';
import styled from 'styled-components';
-import { getContractCallPromises, getTokenTransferRequest } from './helper';
const LoaderContainer = styled.div((props) => ({
display: 'flex',
@@ -28,36 +33,42 @@ const LoaderContainer = styled.div((props) => ({
}));
function TransactionRequest() {
- const { payload, tabId, requestToken } = useDappRequest();
+ const { network, feeMultipliers, accountsList, selectedAccount } = useWalletSelector();
+ const { payload, tabId, requestToken, stacksTransaction } = useStxTransactionRequest();
const navigate = useNavigate();
- const { stxAddress, network, stxPublicKey, feeMultipliers, accountsList, selectedAccount } =
- useWalletSelector();
const selectedNetwork = useNetworkSelector();
const { switchAccount } = useWalletReducer();
- const [unsignedTx, setUnsignedTx] = useState();
+ const [unsignedTx, setUnsignedTx] = useState(null);
const [funcMetaData, setFuncMetaData] = useState(undefined);
const [coinsMetaData, setCoinsMetaData] = useState(null);
const [codeBody, setCodeBody] = useState(undefined);
const [contractName, setContractName] = useState(undefined);
- const [hasSwitchedAccount, setHasSwitchedAccount] = useState(false);
const [attachment, setAttachment] = useState(undefined);
- const handleTokenTransferRequest = async () => {
- const stxPendingTxData = await fetchStxPendingTxData(stxAddress, selectedNetwork);
+ const handleTokenTransferRequest = async (tokenTransferPayload: any, requestAccount: Account) => {
+ const stxPendingTxData = await fetchStxPendingTxData(
+ requestAccount.stxAddress,
+ selectedNetwork,
+ );
const unsignedSendStxTx = await getTokenTransferRequest(
- payload.recipient,
- payload.amount,
- payload.memo!,
- stxPublicKey,
- feeMultipliers!,
+ tokenTransferPayload.recipient,
+ tokenTransferPayload.amount,
+ tokenTransferPayload.memo!,
+ requestAccount.stxPublicKey,
+ {
+ stxSendTxMultiplier: feeMultipliers?.stxSendTxMultiplier || 1,
+ poolStackingTxMultiplier: feeMultipliers?.poolStackingTxMultiplier || 1,
+ otherTxMultiplier: feeMultipliers?.otherTxMultiplier || 1,
+ },
selectedNetwork,
stxPendingTxData || [],
+ stacksTransaction?.auth,
);
setUnsignedTx(unsignedSendStxTx);
navigate('/confirm-stx-tx', {
state: {
- unsignedTx: unsignedSendStxTx.serialize().toString('hex'),
- sponosred: payload.sponsored,
+ unsignedTx: buf2hex(unsignedSendStxTx.serialize()),
+ sponsored: tokenTransferPayload.sponsored,
isBrowserTx: true,
tabId,
requestToken,
@@ -65,22 +76,31 @@ function TransactionRequest() {
});
};
- const handleContractCallRequest = async () => {
+ const handleContractCallRequest = async (
+ contractCallPayload: ContractCallPayload,
+ requestAccount: Account,
+ ) => {
const {
unSignedContractCall,
contractInterface,
coinsMetaData: coinMeta,
- } = await getContractCallPromises(payload, stxAddress, selectedNetwork, stxPublicKey);
+ } = await getContractCallPromises(
+ contractCallPayload,
+ requestAccount.stxAddress,
+ selectedNetwork,
+ requestAccount.stxPublicKey,
+ stacksTransaction?.auth,
+ );
setUnsignedTx(unSignedContractCall);
setCoinsMetaData(coinMeta);
const invokedFuncMetaData: ContractFunction | undefined = contractInterface?.functions?.find(
- (func) => func.name === payload.functionName,
+ (func) => func.name === contractCallPayload.functionName,
);
- const txAttachment = payload.attachment ?? undefined;
- if (txAttachment) setAttachment(txAttachment);
+ const txAttachment = contractCallPayload.attachment ?? undefined;
+ if (txAttachment) setAttachment(Buffer.from(txAttachment));
if (invokedFuncMetaData) {
setFuncMetaData(invokedFuncMetaData);
- const { funcArgs } = extractFromPayload(payload);
+ const { funcArgs } = extractFromPayload(contractCallPayload);
if (invokedFuncMetaData?.args.length !== funcArgs.length) {
navigate('/tx-status', {
state: {
@@ -94,20 +114,61 @@ function TransactionRequest() {
}
};
- const handleContractDeployRequest = async () => {
+ const handleContractDeployRequest = async (
+ contractDeployPayload: ContractDeployPayload,
+ requestAccount: Account,
+ ) => {
const response = await createDeployContractRequest(
- payload,
+ contractDeployPayload,
selectedNetwork,
- stxPublicKey,
+ requestAccount.stxPublicKey,
feeMultipliers!,
- stxAddress,
+ requestAccount.stxAddress,
+ stacksTransaction?.auth,
);
setUnsignedTx(response.contractDeployTx);
setCodeBody(response.codeBody);
setContractName(response.contractName);
};
- const switchAccountBasedOnRequest = () => {
+ const handleTxSigningRequest = async (requestAccount: Account) => {
+ if (payload.txType === 'contract_call') {
+ await handleContractCallRequest(payload, requestAccount);
+ } else if (payload.txType === 'smart_contract') {
+ await handleContractDeployRequest(payload, requestAccount);
+ } else {
+ navigate('/confirm-stx-tx', {
+ state: {
+ unsignedTx: payload.txHex,
+ sponsored: payload.sponsored,
+ isBrowserTx: true,
+ tabId,
+ requestToken,
+ },
+ });
+ }
+ };
+
+ const createRequestTx = async (account: Account) => {
+ try {
+ if (!payload.txHex) {
+ if (payload.txType === 'token_transfer') {
+ await handleTokenTransferRequest(payload, account);
+ } else if (payload.txType === 'contract_call') {
+ await handleContractCallRequest(payload, account);
+ } else if (payload.txType === 'smart_contract') {
+ await handleContractDeployRequest(payload, account);
+ }
+ } else {
+ await handleTxSigningRequest(account);
+ }
+ } catch (e: unknown) {
+ console.error(e); // eslint-disable-line
+ toast.error('Unexpected error creating transaction');
+ }
+ };
+
+ const handleRequest = async () => {
if (getNetworkType(payload.network) !== network.type) {
navigate('/tx-status', {
state: {
@@ -123,7 +184,8 @@ function TransactionRequest() {
if (payload.stxAddress !== selectedAccount?.stxAddress && !isHardwareAccount(selectedAccount)) {
const account = accountsList.find((acc) => acc.stxAddress === payload.stxAddress);
if (account) {
- switchAccount(account);
+ await switchAccount(account);
+ await createRequestTx(account);
} else {
navigate('/tx-status', {
state: {
@@ -135,30 +197,14 @@ function TransactionRequest() {
},
});
}
- }
- setHasSwitchedAccount(true);
- };
-
- const createRequestTx = async () => {
- try {
- if (hasSwitchedAccount) {
- if (payload.txType === 'token_transfer') {
- await handleTokenTransferRequest();
- } else if (payload.txType === 'contract_call') {
- await handleContractCallRequest();
- } else if (payload.txType === 'smart_contract') {
- await handleContractDeployRequest();
- }
- }
- } catch (e: unknown) {
- console.log(e);
+ } else if (selectedAccount) {
+ await createRequestTx(selectedAccount!);
}
};
useEffect(() => {
- switchAccountBasedOnRequest();
- createRequestTx();
- }, [hasSwitchedAccount]);
+ handleRequest();
+ }, []);
return (
<>
diff --git a/src/app/stores/wallet/reducer.ts b/src/app/stores/wallet/reducer.ts
index 28000ab51..6e626e48c 100644
--- a/src/app/stores/wallet/reducer.ts
+++ b/src/app/stores/wallet/reducer.ts
@@ -31,6 +31,37 @@ import {
WalletState,
} from './actions/types';
+/*
+ * This store should ONLY be used for global app settings such as:
+ * - hasActivatedOrdinalsKey: undefined,
+ * - hasActivatedRareSatsKey: undefined,
+ * - hasActivatedRBFKey: true,
+ * - rareSatsNoticeDismissed: undefined,
+ * - showBtcReceiveAlert: true,
+ * - showOrdinalReceiveAlert: true,
+ * - showDataCollectionAlert: true,
+ * - btcApiUrl: '',
+ * - selectedAccount: null,
+ * - accountType: 'software',
+ * - accountName: undefined,
+ * - walletLockPeriod: WalletSessionPeriods.STANDARD,
+ * - isUnlocked: false,
+ * - fiatCurrency: 'USD',
+ *
+ * because we get many bugs around caching the wrong values when switching accounts,
+ * we prefer react-query cache (with the correct cache keys) for all
+ * account-specific values, and API fetch results such as:
+ * - btcFiatRate: '0',
+ * - stxBtcRate: '0',
+ * - stxBalance: '0',
+ * - stxAvailableBalance: '0',
+ * - stxLockedBalance: '0',
+ * - stxNonce: 0,
+ * - btcBalance: '0',
+ * - feeMultipliers: null,
+ *
+ * TODO refactor most of these values out of the store and use query cache instead
+ */
const initialWalletState: WalletState = {
stxAddress: '',
btcAddress: '',
diff --git a/src/inpage/index.ts b/src/inpage/index.ts
index ac0ad472b..e9b634585 100644
--- a/src/inpage/index.ts
+++ b/src/inpage/index.ts
@@ -14,12 +14,12 @@ declare global {
}
// we inject these in case implementors call the default providers
-window.StacksProvider = StacksMethodsProvider;
-window.BitcoinProvider = SatsMethodsProvider;
+window.StacksProvider = StacksMethodsProvider as StacksProvider;
+window.BitcoinProvider = SatsMethodsProvider as BitcoinProvider;
// We also inject the providers in an Xverse object in order to have them exclusively available for Xverse wallet
// and not clash with providers from other wallets
window.XverseProviders = {
- StacksProvider: StacksMethodsProvider,
- BitcoinProvider: SatsMethodsProvider,
+ StacksProvider: StacksMethodsProvider as StacksProvider,
+ BitcoinProvider: SatsMethodsProvider as BitcoinProvider,
};
diff --git a/src/inpage/sats.inpage.ts b/src/inpage/sats.inpage.ts
index d30c4a49c..62403ed9f 100644
--- a/src/inpage/sats.inpage.ts
+++ b/src/inpage/sats.inpage.ts
@@ -36,7 +36,6 @@ const isValidEvent = (event: MessageEvent, method: SatsConnectMessageToContentSc
return correctSource && correctMethod && !!data.payload;
};
-// @ts-ignore
const SatsMethodsProvider: BitcoinProvider = {
connect: async (btcAddressRequest): Promise => {
const event = new CustomEvent(DomEventName.getAddressRequest, {
diff --git a/src/inpage/stacks.inpage.ts b/src/inpage/stacks.inpage.ts
index 758bc053e..631b9a9fa 100644
--- a/src/inpage/stacks.inpage.ts
+++ b/src/inpage/stacks.inpage.ts
@@ -1,4 +1,3 @@
-import { StacksProvider } from '@stacks/connect';
import {
AuthenticationRequestEventDetails,
DomEventName,
@@ -13,6 +12,7 @@ import {
SignatureResponseMessage,
TransactionResponseMessage,
} from '@common/types/message-types';
+import { StacksProvider } from '@stacks/connect';
declare const VERSION: string;
type CallableMethods = keyof typeof ExternalMethods;
@@ -60,7 +60,7 @@ const isValidEvent = (event: MessageEvent, method: LegacyMessageToContentScript[
return correctSource && correctMethod && !!data.payload;
};
-const StacksMethodsProvider: StacksProvider = {
+const StacksMethodsProvider: Partial = {
getURL: async () => {
const { url } = await callAndReceive('getURL');
return url;
diff --git a/webpack/webpack.config.js b/webpack/webpack.config.js
index 81b9b2682..6ea404cd4 100644
--- a/webpack/webpack.config.js
+++ b/webpack/webpack.config.js
@@ -12,14 +12,7 @@ const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
const aliases = {
// alias stacks.js packages to their esm (default prefers /dist/polyfill)
- '@stacks/auth': '@stacks/auth/dist/esm',
- '@stacks/common': '@stacks/common/dist/esm',
- '@stacks/encryption': '@stacks/encryption/dist/esm',
- '@stacks/network': '@stacks/network/dist/esm',
- '@stacks/profile': '@stacks/profile/dist/esm',
- '@stacks/storage': '@stacks/storage/dist/esm',
'@stacks/transactions': '@stacks/transactions/dist/esm',
- '@stacks/keychain': '@stacks/keychain/dist/esm',
'@secretkeylabs/xverse-core': '@secretkeylabs/xverse-core/dist',
};
const ASSET_PATH = process.env.ASSET_PATH || '/';