diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock index 1178aac..08c0e37 100644 --- a/kotlin-js-store/yarn.lock +++ b/kotlin-js-store/yarn.lock @@ -184,7 +184,14 @@ babel-plugin-polyfill-regenerator "^0.4.1" semver "^6.3.0" -"@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5": +"@babel/runtime@^7.18.3": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.0.tgz#824a9ef325ffde6f78056059db3168c08785e24a" + integrity sha512-NDYdls71fTXoU8TZHfbBWg7DiZfNzClcKui/+kyi6ppD2L1qnWW3VV6CjtaBXSUGGhiTWJ6ereOIkUvenif66Q== + dependencies: + regenerator-runtime "^0.13.10" + +"@babel/runtime@^7.5.5": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== @@ -230,6 +237,47 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== +"@cosmjs/amino@^0.29.3": + version "0.29.3" + resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.29.3.tgz#5aa338a301ea970a93e15522706615efea507c10" + integrity sha512-BFz1++ERerIggiFc7iGHhGe1CeV3rCv8BvkoBQTBN/ZwzHOaKvqQj8smDlRGlQxX3HWlTwgiLN2A+OB5yX4ZRw== + dependencies: + "@cosmjs/crypto" "^0.29.3" + "@cosmjs/encoding" "^0.29.3" + "@cosmjs/math" "^0.29.3" + "@cosmjs/utils" "^0.29.3" + +"@cosmjs/crypto@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.24.1.tgz#62da59c32b26344f26b10dd31a02b93655586d04" + integrity sha512-GPhaWmQO06mXldKj/b+oKF5o3jMNfRKpAw+Q8XQhrD7ItinVPDMu8Xgl6frUXWTUdgpYwqpvqOcpm85QUsYV0Q== + dependencies: + "@cosmjs/encoding" "^0.24.1" + "@cosmjs/math" "^0.24.1" + "@cosmjs/utils" "^0.24.1" + bip39 "^3.0.2" + bn.js "^4.11.8" + elliptic "^6.5.3" + js-sha3 "^0.8.0" + libsodium-wrappers "^0.7.6" + pbkdf2 "^3.1.1" + ripemd160 "^2.0.2" + sha.js "^2.4.11" + unorm "^1.5.0" + +"@cosmjs/crypto@^0.29.3": + version "0.29.3" + resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.29.3.tgz#4af0ac1264f1638c31d03cfcbedf2fca36e17890" + integrity sha512-dOCYLLEOnn5idNgoAcdQnuvFXZx/BmLnb2Mh8ZZtw6peFNvRePfaMX12HerngkLVAcLBc/V6pZHWoj9DBrsvng== + dependencies: + "@cosmjs/encoding" "^0.29.3" + "@cosmjs/math" "^0.29.3" + "@cosmjs/utils" "^0.29.3" + "@noble/hashes" "^1" + bn.js "^5.2.0" + elliptic "^6.5.3" + libsodium-wrappers "^0.7.6" + "@cosmjs/encoding@0.27.1": version "0.27.1" resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.27.1.tgz#3cd5bc0af743485eb2578cdb08cfa84c86d610e1" @@ -239,6 +287,45 @@ bech32 "^1.1.4" readonly-date "^1.0.0" +"@cosmjs/encoding@^0.20.0": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.20.1.tgz#1d1162b3eca51b7244cd45102e313612cea77281" + integrity sha512-aBp153iq2LD4GwDGwodDWZk/eyAUZ8J8bbiqZ1uK8rrylzm9Rdw84aa6JxykezJe+uBPtoI4lx9eH7VQXCGDXw== + dependencies: + base64-js "^1.3.0" + bech32 "^1.1.4" + readonly-date "^1.0.0" + +"@cosmjs/encoding@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.24.1.tgz#b30e92cdb70fc200a163b8c7aa5254606c8a09ab" + integrity sha512-PMr+gaXAuM0XgjeXwB1zdX1QI0t+PgVhbmjgI/RSgswDzdExNH97qUopecL0/HG3p64vhIT/6ZjXYYTljZL7WA== + dependencies: + base64-js "^1.3.0" + bech32 "^1.1.4" + readonly-date "^1.0.0" + +"@cosmjs/encoding@^0.29.3": + version "0.29.3" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.29.3.tgz#191fe1192d78ac0f9eb01b6e0aa4ba976cfb2c7a" + integrity sha512-K6CTcDGovwzF3QOmLm9mWwjcu4Md64zCOBYgVK3boGbsaExP/6YAjT22e+yDsReXWlEUtSVCjqCC/9EEcwmYmg== + dependencies: + base64-js "^1.3.0" + bech32 "^1.1.4" + readonly-date "^1.0.0" + +"@cosmjs/launchpad@^0.24.0-alpha.25", "@cosmjs/launchpad@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@cosmjs/launchpad/-/launchpad-0.24.1.tgz#fe7e80734dfd60ea093429a646d7a38634c70134" + integrity sha512-syqVGKRH6z1vw4DdAJOSu4OgUXJdkXQozqvDde0cXYwnvhb7EXGSg5CTtp+2GqTBJuNVfMZ2DSvrC2Ig8cWBQQ== + dependencies: + "@cosmjs/crypto" "^0.24.1" + "@cosmjs/encoding" "^0.24.1" + "@cosmjs/math" "^0.24.1" + "@cosmjs/utils" "^0.24.1" + axios "^0.21.1" + fast-deep-equal "^3.1.3" + "@cosmjs/math@0.27.1": version "0.27.1" resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.27.1.tgz#be78857b008ffc6b1ed6fecaa1c4cd5bc38c07d7" @@ -246,6 +333,51 @@ dependencies: bn.js "^5.2.0" +"@cosmjs/math@^0.20.0": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.20.1.tgz#c3c2be821b8b5dbbb9b2c0401bd9f1472e821f2a" + integrity sha512-xt7BmpSw2OVGM2+JhlJvKv9OJs9+3DqgVL6+byUDC355CSISrZhFjJg9GFko1EFssDXz5YgvBZR5FkifC0xazw== + dependencies: + bn.js "^4.11.8" + +"@cosmjs/math@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.24.1.tgz#9eed507885aacc9b269441fc9ecb00fb5876883a" + integrity sha512-eBQk8twgzmpHFCVkoNjTZhsZwWRbR+JXt0FhjXJoD85SBm4K8b2OnOyTg68uPHVKOJjLRwzyRVYgMrg5TBVgwQ== + dependencies: + bn.js "^4.11.8" + +"@cosmjs/math@^0.29.3": + version "0.29.3" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.29.3.tgz#29f98f6529f3d7654f1af85b329b48482eabbecb" + integrity sha512-4HGHqS+Yn81dZLOAYcDSQbROBD1a7ETW3ur5hziCTXMjZFILRJ3w71PlFUVppVb2u3kRDBBXuYHvZ6/V0M0nrg== + dependencies: + bn.js "^5.2.0" + +"@cosmjs/proto-signing@^0.24.0-alpha.25": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.24.1.tgz#4ee38d4e0d29c626344fb832235fda8e8d645c28" + integrity sha512-/rnyNx+FlG6b6O+igsb42eMN1/RXY+pTrNnAE8/YZaRloP9A6MXiTMO5JdYSTcjaD0mEVhejiy96bcyflKYXBg== + dependencies: + "@cosmjs/launchpad" "^0.24.1" + long "^4.0.0" + protobufjs "~6.10.2" + +"@cosmjs/utils@^0.20.0": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.20.1.tgz#4d239b7d93c15523cdf109f225cbf61326fb69cd" + integrity sha512-xl9YnIrAAaBd6nFffwFbyrnKjqjD9zKGP8OBKxzyglxamHfqAS+PcJPEiaEpt+oUt7HAIOyhL3KK75Dh52hGvA== + +"@cosmjs/utils@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.24.1.tgz#0adfefe63b7f17222bc2bc12f71296f35e7ad378" + integrity sha512-VA3WFx1lMFb7esp9BqHWkDgMvHoA3D9w+uDRvWhVRpUpDc7RYHxMbWExASjz+gNblTCg556WJGzF64tXnf9tdQ== + +"@cosmjs/utils@^0.29.3": + version "0.29.3" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.29.3.tgz#d7e1f381267e61b7d3219ebd75d46defc397cd43" + integrity sha512-UuKoBN2xiRXcBpz7jzCwagKhOnLOsRmR8mu3IzY+Yx38i8rW52FSXMbxC/yE83X0vLea+zgMQFPwv0gy4QWUJw== + "@discoveryjs/json-ext@^0.5.0": version "0.5.7" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" @@ -463,6 +595,48 @@ dependencies: browser-headers "^0.4.1" +"@iov/crypto@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@iov/crypto/-/crypto-2.1.0.tgz#10e91b6692e154958c11626dfd096a80e8a481a4" + integrity sha512-jnb4XuK50admolm7fBxOcxfAW2TO+wYrZlhDWiMETItY/Y5gNNa1zaDSO2wNIjjfGng+8nQ1yqnNhqy7busV2Q== + dependencies: + "@iov/encoding" "^2.1.0" + bip39 "^3.0.2" + bn.js "^4.11.8" + elliptic "^6.4.0" + js-sha3 "^0.8.0" + libsodium-wrappers "^0.7.6" + pbkdf2 "^3.0.16" + ripemd160 "^2.0.2" + sha.js "^2.4.11" + type-tagger "^1.0.0" + unorm "^1.5.0" + +"@iov/encoding@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@iov/encoding/-/encoding-2.1.0.tgz#434203c39874c68bc1d96e1278251f0feb23be07" + integrity sha512-5IOdLO7Xg/uRykuiCqeMYghQ3IjWDtGxv7NTWXkgpHuna0aewx43mRpT2NPCpOZd1tpuorDtQ7/zbDNRaIIF/w== + dependencies: + base64-js "^1.3.0" + bech32 "^1.1.3" + bn.js "^4.11.8" + readonly-date "^1.0.0" + +"@iov/encoding@^2.1.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@iov/encoding/-/encoding-2.5.0.tgz#9612e529f45e63633b2375c13db28b9330ce6293" + integrity sha512-HGHLlQEvD23rFjW5PQrxD2B/6LiBHVSxqX6gjOz9KfcmIMIftRA0qROrTITfjjjUr/yZZEeNk4qjuBls9TaYcA== + dependencies: + "@cosmjs/encoding" "^0.20.0" + "@cosmjs/math" "^0.20.0" + "@cosmjs/utils" "^0.20.0" + readonly-date "^1.0.0" + +"@iov/utils@2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@iov/utils/-/utils-2.0.2.tgz#3527f376d26100e07ac823bf87bebd0f24680d1c" + integrity sha512-4D8MEvTcFc/DVy5q25vHxRItmgJyeX85dixMH+MxdKr+yy71h3sYk+sVBEIn70uqGP7VqAJkGOPNFs08/XYELw== + "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" @@ -511,6 +685,17 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@keplr-wallet/types@^0.11.13": + version "0.11.13" + resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.11.13.tgz#ceafa64d87bf89dd242be75482eaed3554b780eb" + integrity sha512-bBD2biXaPiDnpL7wP4SgF+rQYIBpQ2WHaP+2azuNqV6ij9RhRktKqJ+srGHp02umT1r4+jAERN8pgA+PckaYag== + dependencies: + "@cosmjs/launchpad" "^0.24.0-alpha.25" + "@cosmjs/proto-signing" "^0.24.0-alpha.25" + axios "^0.27.2" + long "^4.0.0" + secretjs "0.17.7" + "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" @@ -531,6 +716,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.0.0.tgz#d5e38bfbdaba174805a4e649f13be9a9ed3351ae" integrity sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg== +"@noble/hashes@^1": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.3.tgz#360afc77610e0a61f3417e497dcf36862e4f8111" + integrity sha512-CE0FCR57H2acVI5UOzIGSSIYxZ6v/HOhDR0Ro9VLyhnzLwx0o8W1mmgaqlEUx4049qJDlIBRztv5k+MM8vbO3A== + "@noble/secp256k1@1.6.3": version "1.6.3" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.6.3.tgz#7eed12d9f4404b416999d0c87686836c4c5c9b94" @@ -806,7 +996,7 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== -"@types/node@*", "@types/node@>=10.0.0", "@types/node@>=13.7.0": +"@types/node@*", "@types/node@>=10.0.0": version "18.7.18" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154" integrity sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg== @@ -821,6 +1011,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== +"@types/node@>=13.7.0": + version "18.11.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.8.tgz#16d222a58d4363a2a359656dd20b28414de5d265" + integrity sha512-uGwPWlE0Hj972KkHtCDVwZ8O39GmyjfMane1Z3GUBGGnkZ2USDq7SxLpVIiIHpweY9DS0QTDH0Nw7RNBsAAZ5A== + "@types/node@^10.0.3": version "10.17.60" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" @@ -831,6 +1026,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== +"@types/node@^13.7.0": + version "13.13.52" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.52.tgz#03c13be70b9031baaed79481c0c0cfb0045e53f7" + integrity sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ== + "@types/node@^8.0.0": version "8.10.66" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" @@ -1471,6 +1671,28 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== +axios@0.21.1: + version "0.21.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +axios@^0.27.2: + version "0.27.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" + integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== + dependencies: + follow-redirects "^1.14.9" + form-data "^4.0.0" + babel-plugin-polyfill-corejs2@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" @@ -1514,7 +1736,7 @@ base-x@^3.0.2, base-x@^3.0.8: dependencies: safe-buffer "^5.0.1" -base64-js@^1.3.0, base64-js@^1.3.1: +base64-js@^1.0.2, base64-js@^1.3.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -1541,7 +1763,7 @@ bech32@2.0.0: resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== -bech32@^1.1.4: +bech32@^1.1.3, bech32@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== @@ -1586,7 +1808,7 @@ bip32@2.0.6: typeforce "^1.11.5" wif "^2.0.6" -bip39@3.0.4: +bip39@3.0.4, bip39@^3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw== @@ -1809,6 +2031,14 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== +buffer@6.0.3, buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + buffer@^5.0.5, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -1817,13 +2047,13 @@ buffer@^5.0.5, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.3.1" ieee754 "^1.1.13" -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== +buffer@~5.4.3: + version "5.4.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" + integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A== dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" + base64-js "^1.0.2" + ieee754 "^1.1.4" bufferutil@^4.0.1: version "4.0.6" @@ -1915,6 +2145,11 @@ chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +charenc@~0.0.1: + version "0.0.2" + resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== + checkpoint-store@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" @@ -2039,7 +2274,7 @@ colorette@^2.0.10, colorette@^2.0.14: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -2246,6 +2481,11 @@ cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +crypt@~0.0.1: + version "0.0.2" + resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== + crypto-browserify@3.12.0, crypto-browserify@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -3084,6 +3324,11 @@ fake-merkle-patricia-tree@^1.0.1: dependencies: checkpoint-store "^1.1.0" +fast-deep-equal@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -3197,7 +3442,7 @@ flatted@^3.2.6: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -follow-redirects@^1.0.0: +follow-redirects@^1.0.0, follow-redirects@^1.10.0, follow-redirects@^1.14.0, follow-redirects@^1.14.9: version "1.15.2" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== @@ -3228,6 +3473,15 @@ form-data@^2.2.0: combined-stream "^1.0.6" mime-types "^2.1.12" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -3422,6 +3676,11 @@ google-protobuf@3.12.2: resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.12.2.tgz#50ce9f9b6281235724eb243d6a83e969a2176e53" integrity sha512-4CZhpuRr1d6HjlyrxoXoocoGFnRYgKULgMtikMddA9ztRyYR59Aondv2FioyxWVamRo0rF2XpYawkTCBEQOSkA== +google-protobuf@^3.14.0: + version "3.21.2" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.2.tgz#4580a2bea8bbb291ee579d1fefb14d6fa3070ea4" + integrity sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA== + google-protobuf@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.0.tgz#8dfa3fca16218618d373d414d3c1139e28034d6e" @@ -3549,7 +3808,7 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7, hash.js@~1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -3720,7 +3979,7 @@ idna-uts46-hx@^2.3.1: dependencies: punycode "2.1.0" -ieee754@^1.1.13, ieee754@^1.2.1: +ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -3810,6 +4069,11 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-buffer@~1.1.1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.6" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.6.tgz#fd6170b0b8c7e2cc73de342ef8284a2202023c44" @@ -4038,6 +4302,52 @@ jest-worker@^27.4.5: merge-stream "^2.0.0" supports-color "^8.0.0" +js-crypto-env@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/js-crypto-env/-/js-crypto-env-0.3.2.tgz#02195723469da14449338ca2789fd7ff6784c533" + integrity sha512-F1uHiCkSOo36qBuuZABA4sBf+xeFBzhJZ0Sd7af8FAruszIhm1Xxv+Zr5Ne90Zlh7/fnxCsrdkj0N8f0a3lVlQ== + +js-crypto-hash@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/js-crypto-hash/-/js-crypto-hash-0.6.3.tgz#748e3e1853f69dad714636db3290736825506641" + integrity sha512-SG8c9tM8y3sUb4k7WvpVfu5vU7zfPvX+eaYR5578TvehkehdaQbqAc+y+1FwxnqQ3WZ0gsYoOKp/mW+mqtNoWA== + dependencies: + buffer "~5.4.3" + hash.js "~1.1.7" + js-crypto-env "^0.3.2" + md5 "~2.2.1" + sha3 "~2.1.0" + +js-crypto-hkdf@0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/js-crypto-hkdf/-/js-crypto-hkdf-0.7.3.tgz#537c394a2e65bca80032daa07d2ffe7e4f78d32f" + integrity sha512-eAaVArAjS2GCacWGXY4hjBiexrLQYlI0PMOcbwtrSEj84XU3kUfMYZm9bpTyaTXgdHC/eQoXe/Of6biG+RSEaQ== + dependencies: + js-crypto-env "^0.3.2" + js-crypto-hmac "^0.6.3" + js-crypto-random "^0.4.3" + js-encoding-utils "0.5.6" + +js-crypto-hmac@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/js-crypto-hmac/-/js-crypto-hmac-0.6.3.tgz#c33352c1ee6076b17b8f4cb0e2167814b2b77d6d" + integrity sha512-T0pKOaHACOSG6Xs6/06G8RDDeZouQwIQNBq9L/zoUGsd4F67gAjpT3q2lGigAGpUd1hiyy7vnhvLpz7VDt6DbA== + dependencies: + js-crypto-env "^0.3.2" + js-crypto-hash "^0.6.3" + +js-crypto-random@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/js-crypto-random/-/js-crypto-random-0.4.3.tgz#898c2d91991eead02b4e461005e878fa9827fd74" + integrity sha512-C3gzphPPfw9jfQ9Q/LjhJMZxQNp3AaoVRDvyZkiB+zYltfs8tKQPsskWkXACpg1Nzh01PtSRUvVijjptd2qGHQ== + dependencies: + js-crypto-env "^0.3.2" + +js-encoding-utils@0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/js-encoding-utils/-/js-encoding-utils-0.5.6.tgz#517351d8f4a85b2ad121183d41df8319981bee03" + integrity sha512-qnAGsUIWrmzh5n+3AXqbxX1KsB9hkQmJZf3aA9DLAS7GpL/NEHCBreFFbW+imramoU+Q0TDyvkwhRbBRH1TVkg== + js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" @@ -4310,6 +4620,18 @@ libsodium-wrappers-sumo@^0.7.10: dependencies: libsodium-sumo "^0.7.0" +libsodium-wrappers@^0.7.6: + version "0.7.10" + resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz#13ced44cacb0fc44d6ac9ce67d725956089ce733" + integrity sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg== + dependencies: + libsodium "^0.7.0" + +libsodium@^0.7.0: + version "0.7.10" + resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.10.tgz#c2429a7e4c0836f879d701fec2c8a208af024159" + integrity sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ== + loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" @@ -4400,6 +4722,15 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +md5@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" + integrity sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ== + dependencies: + charenc "~0.0.1" + crypt "~0.0.1" + is-buffer "~1.1.1" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -4678,9 +5009,9 @@ multihashes@^0.4.15, multihashes@~0.4.15: varint "^5.0.0" nan@^2.13.2: - version "2.16.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916" - integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== + version "2.17.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" + integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== nano-json-stream-parser@^0.1.2: version "0.1.2" @@ -4919,6 +5250,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pako@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + pako@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d" @@ -4985,7 +5321,7 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== -pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9: +pbkdf2@^3.0.16, pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9, pbkdf2@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== @@ -5087,6 +5423,25 @@ protobufjs@6.11.3, protobufjs@^6.11.3: "@types/node" ">=13.7.0" long "^4.0.0" +protobufjs@~6.10.2: + version "6.10.3" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.10.3.tgz#11ed1dd02acbfcb330becf1611461d4b407f9eef" + integrity sha512-yvAslS0hNdBhlSKckI4R1l7wunVilX66uvrjzE4MimiAt7/qw1nLpMhZrn/ObuUTM/c3Xnfl01LYMdcSJe6dwg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" "^13.7.0" + long "^4.0.0" + proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -5308,6 +5663,11 @@ rechoir@^0.7.0: dependencies: resolve "^1.9.0" +regenerator-runtime@^0.13.10: + version "0.13.10" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" + integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== + regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" @@ -5418,7 +5778,7 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: +ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== @@ -5493,10 +5853,27 @@ secp256k1@^4.0.1: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" +secretjs@0.17.7: + version "0.17.7" + resolved "https://registry.yarnpkg.com/secretjs/-/secretjs-0.17.7.tgz#a1aef5866a35cf673be9ddd717d20729afd056ac" + integrity sha512-j39l9+vR2A8067QBqDDejS7LmRLgdkG4uRw2Ar6HMfzDGo26eTh7cIXVlVu/yHBumxtQzKun20epOXwuYHXjQg== + dependencies: + "@iov/crypto" "2.1.0" + "@iov/encoding" "2.1.0" + "@iov/utils" "2.0.2" + axios "0.21.1" + curve25519-js "0.0.4" + fast-deep-equal "3.1.1" + js-crypto-hkdf "0.7.3" + miscreant "0.3.2" + pako "1.0.11" + protobufjs "6.11.3" + secure-random "1.1.2" + secretjs@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/secretjs/-/secretjs-1.4.3.tgz#393fc381fa2924e9b339e52d1ba5ce9b3bc68241" - integrity sha512-IDhoPWg1Nra7ji3FU07ZHbxkp1S5uQnbLsDNj/t6Q9M9wysxv/BZafHnoEkAcB7FYYwOkxs5RxnSAZ2oiJORPw== + version "1.4.5" + resolved "https://registry.yarnpkg.com/secretjs/-/secretjs-1.4.5.tgz#c94098faace9932c5a39cc4622a7510daac44274" + integrity sha512-WbHzcDTL8VW8WwVMAPXZAMj6QutXBe1gjLhyjOT3lAQX5zU1TKh2h8EpAxNrM0BfLPMPRC24qtngrrkVrdW2CA== dependencies: "@cosmjs/encoding" "0.27.1" "@cosmjs/math" "0.27.1" @@ -5511,6 +5888,7 @@ secretjs@^1.4.3: bip32 "2.0.6" bip39 "3.0.4" curve25519-js "0.0.4" + google-protobuf "^3.14.0" is-gzip "2.0.0" miscreant "0.3.2" pako "2.0.4" @@ -5634,7 +6012,7 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -sha.js@^2.4.0, sha.js@^2.4.8: +sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== @@ -5642,6 +6020,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +sha3@~2.1.0: + version "2.1.4" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-2.1.4.tgz#000fac0fe7c2feac1f48a25e7a31b52a6492cc8f" + integrity sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg== + dependencies: + buffer "6.0.3" + shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -6129,6 +6514,11 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +type-tagger@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/type-tagger/-/type-tagger-1.0.0.tgz#dc6297e52e17097c1b92b42c16816a18f631e7f4" + integrity sha512-FIPqqpmDgdaulCnRoKv1/d3U4xVBUrYn42QXWNP3XYmgfPUDuBUsgFOb9ntT0aIe0UsUP+lknpQ5d9Kn36RssA== + type@^1.0.1: version "1.2.0" resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" @@ -6186,6 +6576,11 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +unorm@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" + integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" diff --git a/sample/src/commonMain/kotlin/SampleApp.kt b/sample/src/commonMain/kotlin/SampleApp.kt index f06f12f..29c5d81 100644 --- a/sample/src/commonMain/kotlin/SampleApp.kt +++ b/sample/src/commonMain/kotlin/SampleApp.kt @@ -6,20 +6,27 @@ import androidx.compose.material.* import androidx.compose.runtime.* import androidx.compose.ui.Modifier import io.eqoty.secretk.client.SigningCosmWasmClient +import io.eqoty.secretk.extensions.accesscontrol.PermitFactory import io.eqoty.secretk.types.MsgExecuteContract import io.eqoty.secretk.types.TxOptions +import io.eqoty.secretk.types.extensions.Permission +import io.eqoty.secretk.types.extensions.Permit import io.eqoty.secretk.wallet.DirectSigningWallet import kotlinx.coroutines.launch +import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import kotlinx.serialization.json.jsonObject import kotlinx.serialization.json.jsonPrimitive val contractAddress = "secret1lz4m46vpdn8f2aj8yhtnexus40663udv7hhprm" + @Composable fun SampleApp(client: SigningCosmWasmClient) { val coroutineScope = rememberCoroutineScope() + var permit: Permit? by remember { mutableStateOf(null) } var contractInfoQueryResponse: String? by remember { mutableStateOf(null) } + var numTokensQueryWithPermitResponse: String? by remember { mutableStateOf(null) } var viewingKeyTxResponse: String? by remember { mutableStateOf(null) } var numTokensQueryResponse: String? by remember { mutableStateOf(null) } MaterialTheme { @@ -51,6 +58,44 @@ fun SampleApp(client: SigningCosmWasmClient) { Text("query response: $contractInfoQueryResponse") } } + if (permit == null) { + coroutineScope.launch { + permit = PermitFactory.newPermit( + client.wallet, + client.senderAddress, + client.getChainId(), + "Test", + listOf(contractAddress), + listOf(Permission.Owner), + ) + } + } else { + Row { + Button({ + coroutineScope.launch { + val numTokensQuery = + """ + { + "with_permit": { + "permit": ${Json.encodeToString(permit)}, + "query": { "num_tokens": {} } + } + } + """ + numTokensQueryWithPermitResponse = try { + client.queryContractSmart(contractAddress, numTokensQuery) + } catch (t: Throwable) { + t.message + } + } + }) { + Text("Get number of tokens with permit") + } + numTokensQueryWithPermitResponse?.let { + Text("query response: $numTokensQueryWithPermitResponse") + } + } + } Row { Button({ coroutineScope.launch { diff --git a/sample/src/jsMain/kotlin/main.js.kt b/sample/src/jsMain/kotlin/main.js.kt index 9e0bba9..248c934 100644 --- a/sample/src/jsMain/kotlin/main.js.kt +++ b/sample/src/jsMain/kotlin/main.js.kt @@ -21,8 +21,8 @@ import jslib.walletconnect.WalletConnectProvider fun main() { application { - val wallet = setupMetamaskAndGetWallet() -// val wallet = setupKeplerAndGetWallet() +// val wallet = setupMetamaskAndGetWallet() + val wallet = setupKeplerAndGetWallet() val grpcGatewayEndpoint = "https://api.pulsar.scrttestnet.com" // A pen is the most basic tool you can think of for signing. // This wraps a single keypair and allows for signing. @@ -108,6 +108,7 @@ suspend fun setupKeplerAndGetWallet(): OfflineSignerOnlyAminoWalletWrapper { console.log(suggestion) val promise: Promise = window.asDynamic().keplr.experimentalSuggestChain(suggestion) as Promise val enablePromise: Promise = window.asDynamic().keplr.enable(CHAIN_ID) as Promise + enablePromise.await() val wallet: AminoWallet = window.asDynamic().getOfflineSignerOnlyAmino(CHAIN_ID) return OfflineSignerOnlyAminoWalletWrapper(wallet) } diff --git a/secretk/build.gradle.kts b/secretk/build.gradle.kts index e920c33..a614bf2 100644 --- a/secretk/build.gradle.kts +++ b/secretk/build.gradle.kts @@ -123,6 +123,8 @@ kotlin { implementation(npm("libsodium-wrappers-sumo", "^0.7.10")) implementation(npm("secretjs", "^1.4.3")) implementation(npm("google-protobuf", "^3.21.0")) + implementation(npm("@cosmjs/amino", "^0.29.3")) + implementation(npm("@keplr-wallet/types", "^0.11.13")) } } val jsTest by getting { diff --git a/secretk/src/commonMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/PermitFactory.kt b/secretk/src/commonMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/PermitFactory.kt index 821ce24..cb9fc43 100644 --- a/secretk/src/commonMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/PermitFactory.kt +++ b/secretk/src/commonMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/PermitFactory.kt @@ -3,12 +3,13 @@ package io.eqoty.secretk.extensions.accesscontrol import io.eqoty.secretk.types.* import io.eqoty.secretk.types.extensions.Permission import io.eqoty.secretk.types.extensions.Permit -import io.eqoty.secretk.wallet.DirectSigningWallet import io.eqoty.secretk.wallet.Wallet +import kotlinx.serialization.encodeToString +import kotlinx.serialization.json.Json object PermitFactory { - private fun newSignDoc( + internal fun newSignDoc( chainId: String, permitName: String, allowedTokens: List, @@ -42,15 +43,17 @@ object PermitFactory { allowedTokens: List, permissions: List, ): Permit { - val signature = when (wallet) { - is DirectSigningWallet -> { - wallet.signAmino( - owner, - newSignDoc(chainId, permitName, allowedTokens, permissions), - ).signature - } - - else -> TODO() + var signature = newPermitWithTargetSpecificWallet( + wallet, owner, chainId, permitName, allowedTokens, permissions + ) + if (signature == null) { + println(Json.encodeToString(newSignDoc(chainId, permitName, allowedTokens, permissions))) + val aa= wallet.signAmino( + owner, + newSignDoc(chainId, permitName, allowedTokens, permissions), + ) + println(aa.signature.toString()) + signature = aa.signature } return Permit( @@ -63,4 +66,13 @@ object PermitFactory { signature = signature, ) } -} \ No newline at end of file +} + +internal expect suspend fun PermitFactory.newPermitWithTargetSpecificWallet( + wallet: Wallet, + owner: String, + chainId: String, + permitName: String, + allowedTokens: List, + permissions: List, +): StdSignature? \ No newline at end of file diff --git a/secretk/src/commonMain/kotlin/io/eqoty/secretk/types/response/PubKey.kt b/secretk/src/commonMain/kotlin/io/eqoty/secretk/types/response/PubKey.kt index 9379bd3..ee30205 100644 --- a/secretk/src/commonMain/kotlin/io/eqoty/secretk/types/response/PubKey.kt +++ b/secretk/src/commonMain/kotlin/io/eqoty/secretk/types/response/PubKey.kt @@ -7,7 +7,7 @@ sealed class PubKey : TypeValue() @kotlinx.serialization.Serializable @SerialName("tendermint/PubKeySecp256k1") -class PubKeySecp256k1( +data class PubKeySecp256k1( // Value field is base64-encoded in all cases // Note: if type is Secp256k1, this must contain a COMPRESSED pubkey - to encode from bcp/keycontrol land, you must compress it first override val value: String @@ -15,7 +15,7 @@ class PubKeySecp256k1( @kotlinx.serialization.Serializable @SerialName("tendermint/PubKeyMultisigThreshold") -class PubKeyMultisigThreshold( +data class PubKeyMultisigThreshold( // Value field is base64-encoded in all cases // Note: if type is Secp256k1, this must contain a COMPRESSED pubkey - to encode from bcp/keycontrol land, you must compress it first override val value: String @@ -24,7 +24,7 @@ class PubKeyMultisigThreshold( @kotlinx.serialization.Serializable @SerialName("tendermint/PubKeyEd25519") -class PubKeyEd25519( +data class PubKeyEd25519( // Value field is base64-encoded in all cases // Note: if type is Secp256k1, this must contain a COMPRESSED pubkey - to encode from bcp/keycontrol land, you must compress it first override val value: String @@ -32,7 +32,7 @@ class PubKeyEd25519( @kotlinx.serialization.Serializable @SerialName("tendermint/PubKeySr25519") -class PubKeySr25519( +data class PubKeySr25519( // Value field is base64-encoded in all cases // Note: if type is Secp256k1, this must contain a COMPRESSED pubkey - to encode from bcp/keycontrol land, you must compress it first override val value: String diff --git a/secretk/src/jsMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/newPermitWithTargetSpecificWallet.kt b/secretk/src/jsMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/newPermitWithTargetSpecificWallet.kt new file mode 100644 index 0000000..5038f7d --- /dev/null +++ b/secretk/src/jsMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/newPermitWithTargetSpecificWallet.kt @@ -0,0 +1,46 @@ +package io.eqoty.secretk.extensions.accesscontrol + +import io.eqoty.secretk.types.StdSignature +import io.eqoty.secretk.types.extensions.Permission +import io.eqoty.secretk.wallet.AminoSignResponse +import io.eqoty.secretk.wallet.Wallet +import io.eqoty.wallet.OfflineSignerOnlyAminoWalletWrapper +import jslibs.keplrwallet.types.Keplr +import jslibs.keplrwallet.types.KeplrSignOptionsImpl +import kotlinx.browser.window +import kotlinx.coroutines.await +import kotlinx.serialization.decodeFromString +import kotlinx.serialization.encodeToString +import kotlinx.serialization.json.Json +import org.w3c.dom.get + +internal actual suspend fun PermitFactory.newPermitWithTargetSpecificWallet( + wallet: Wallet, + owner: String, + chainId: String, + permitName: String, + allowedTokens: List, + permissions: List +): StdSignature? { + return if (wallet is OfflineSignerOnlyAminoWalletWrapper) { + val jsAminoSignResponse = (window["keplr"] as Keplr).signAmino( + chainId, + owner, + JSON.parse(Json.encodeToString(newSignDoc(chainId, permitName, allowedTokens, permissions))), + // not sure why I can't just directly use KeplrSignOptionsImpl here 🙃 + signOptions = JSON.parse( + Json.encodeToString( + KeplrSignOptionsImpl( + preferNoSetFee = true, // Fee must be 0, so hide it from the user + preferNoSetMemo = true, // Memo must be empty, so hide it from the user + disableBalanceCheck = true + ) + ) + ) + ).await() + val aminoSignResponse: AminoSignResponse = Json.decodeFromString(JSON.stringify(jsAminoSignResponse)) + aminoSignResponse.signature + } else { + null + } +} \ No newline at end of file diff --git a/secretk/src/jsMain/kotlin/io/eqoty/wallet/MetaMaskWalletWrapper.kt b/secretk/src/jsMain/kotlin/io/eqoty/wallet/MetaMaskWalletWrapper.kt index eaab643..1e5e22d 100644 --- a/secretk/src/jsMain/kotlin/io/eqoty/wallet/MetaMaskWalletWrapper.kt +++ b/secretk/src/jsMain/kotlin/io/eqoty/wallet/MetaMaskWalletWrapper.kt @@ -11,6 +11,7 @@ import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json +// todo: Remove secret.js dependency and just implement it ourselves class MetaMaskWalletWrapper( val wallet: MetaMaskWallet, ) : Wallet { diff --git a/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/coins.module_@cosmjs_amino.kt b/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/coins.module_@cosmjs_amino.kt new file mode 100644 index 0000000..0cc59a8 --- /dev/null +++ b/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/coins.module_@cosmjs_amino.kt @@ -0,0 +1,25 @@ +@file:Suppress( + "INTERFACE_WITH_SUPERCLASS", + "OVERRIDING_FINAL_MEMBER", + "RETURN_TYPE_MISMATCH_ON_OVERRIDE", + "CONFLICTING_OVERLOADS" +) + +package jslibs.cosmjs.amino + +external interface Coin { + var denom: String + var amount: String +} + +external fun coin(amount: Number, denom: String): Coin + +external fun coin(amount: String, denom: String): Coin + +external fun coins(amount: Number, denom: String): Array + +external fun coins(amount: String, denom: String): Array + +external fun parseCoins(input: String): Array + +external fun addCoins(lhs: Coin, rhs: Coin): Coin \ No newline at end of file diff --git a/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/pubkeys.module_@cosmjs_amino.kt b/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/pubkeys.module_@cosmjs_amino.kt new file mode 100644 index 0000000..2f4be23 --- /dev/null +++ b/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/pubkeys.module_@cosmjs_amino.kt @@ -0,0 +1,46 @@ +@file:Suppress( + "INTERFACE_WITH_SUPERCLASS", + "OVERRIDING_FINAL_MEMBER", + "RETURN_TYPE_MISMATCH_ON_OVERRIDE", + "CONFLICTING_OVERLOADS" +) + +package jslibs.cosmjs.amino + +external interface Pubkey { + var type: String + var value: dynamic +} + +external interface Ed25519Pubkey : SinglePubkey { + override var type: String /* "tendermint/PubKeyEd25519" */ + override var value: String +} + +external fun isEd25519Pubkey(pubkey: Pubkey): Boolean + +external interface Secp256k1Pubkey : SinglePubkey { + override var type: String /* "tendermint/PubKeySecp256k1" */ + override var value: String +} + +external fun isSecp256k1Pubkey(pubkey: Pubkey): Boolean + +external interface SinglePubkey : Pubkey { + override var type: String + override var value: String +} + +external fun isSinglePubkey(pubkey: Pubkey): Boolean + +external interface MultisigThresholdPubkeyValue { + var threshold: String + var pubkeys: Array +} + +external interface MultisigThresholdPubkey : Pubkey { + override var type: String /* "tendermint/PubKeyMultisigThreshold" */ + override var value: MultisigThresholdPubkeyValue +} + +external fun isMultisigThresholdPubkey(pubkey: Pubkey): Boolean \ No newline at end of file diff --git a/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/signature.module_@cosmjs_amino.kt b/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/signature.module_@cosmjs_amino.kt new file mode 100644 index 0000000..1ea6b58 --- /dev/null +++ b/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/signature.module_@cosmjs_amino.kt @@ -0,0 +1,24 @@ +@file:Suppress( + "INTERFACE_WITH_SUPERCLASS", + "OVERRIDING_FINAL_MEMBER", + "RETURN_TYPE_MISMATCH_ON_OVERRIDE", + "CONFLICTING_OVERLOADS" +) + +package jslibs.cosmjs.amino + +import org.khronos.webgl.Uint8Array + +external interface StdSignature { + var pub_key: Pubkey + var signature: String +} + +external fun encodeSecp256k1Signature(pubkey: Uint8Array, signature: Uint8Array): StdSignature + +external interface `T$1` { + var pubkey: Uint8Array + var signature: Uint8Array +} + +external fun decodeSignature(signature: StdSignature): `T$1` \ No newline at end of file diff --git a/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/signdoc.module_@cosmjs_amino.kt b/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/signdoc.module_@cosmjs_amino.kt new file mode 100644 index 0000000..862d78f --- /dev/null +++ b/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/signdoc.module_@cosmjs_amino.kt @@ -0,0 +1,73 @@ +@file:Suppress( + "INTERFACE_WITH_SUPERCLASS", + "OVERRIDING_FINAL_MEMBER", + "RETURN_TYPE_MISMATCH_ON_OVERRIDE", + "CONFLICTING_OVERLOADS" +) + +package jslibs.cosmjs.amino + +import org.khronos.webgl.Uint8Array + +external interface AminoMsg { + var type: String + var value: Any +} + +external interface StdFee { + var amount: Array + var gas: String + var granter: String? + get() = definedExternally + set(value) = definedExternally + var payer: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface StdSignDoc { + var chain_id: String + var account_number: String + var sequence: String + var fee: StdFee + var msgs: Array + var memo: String +} + +external fun makeSignDoc( + msgs: Array, + fee: StdFee, + chainId: String, + memo: String?, + accountNumber: Number, + sequence: Number +): StdSignDoc + +external fun makeSignDoc( + msgs: Array, + fee: StdFee, + chainId: String, + memo: String?, + accountNumber: Number, + sequence: String +): StdSignDoc + +external fun makeSignDoc( + msgs: Array, + fee: StdFee, + chainId: String, + memo: String?, + accountNumber: String, + sequence: Number +): StdSignDoc + +external fun makeSignDoc( + msgs: Array, + fee: StdFee, + chainId: String, + memo: String?, + accountNumber: String, + sequence: String +): StdSignDoc + +external fun serializeSignDoc(signDoc: StdSignDoc): Uint8Array \ No newline at end of file diff --git a/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/signer.module_@cosmjs_amino.kt b/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/signer.module_@cosmjs_amino.kt new file mode 100644 index 0000000..f9b4c2c --- /dev/null +++ b/secretk/src/jsMain/kotlin/jslibs/cosmjs/amino/signer.module_@cosmjs_amino.kt @@ -0,0 +1,27 @@ +@file:Suppress( + "INTERFACE_WITH_SUPERCLASS", + "OVERRIDING_FINAL_MEMBER", + "RETURN_TYPE_MISMATCH_ON_OVERRIDE", + "CONFLICTING_OVERLOADS" +) + +package jslibs.cosmjs.amino + +import org.khronos.webgl.Uint8Array +import kotlin.js.Promise + +external interface AccountData { + var address: String + var algo: String /* "secp256k1" | "ed25519" | "sr25519" */ + var pubkey: Uint8Array +} + +external interface AminoSignResponse { + var signed: StdSignDoc + var signature: StdSignature +} + +external interface OfflineAminoSigner { + var getAccounts: () -> Promise> + var signAmino: (signerAddress: String, signDoc: StdSignDoc) -> Promise +} \ No newline at end of file diff --git a/secretk/src/jsMain/kotlin/jslibs/keplrwallet/types/KeplrSignOptionsImpl.kt b/secretk/src/jsMain/kotlin/jslibs/keplrwallet/types/KeplrSignOptionsImpl.kt new file mode 100644 index 0000000..1f58376 --- /dev/null +++ b/secretk/src/jsMain/kotlin/jslibs/keplrwallet/types/KeplrSignOptionsImpl.kt @@ -0,0 +1,10 @@ +package jslibs.keplrwallet.types + +import kotlinx.serialization.Serializable + +@Serializable +class KeplrSignOptionsImpl( + override var preferNoSetFee: Boolean? = null, + override var preferNoSetMemo: Boolean? = null, + override var disableBalanceCheck: Boolean? = null +) : KeplrSignOptions \ No newline at end of file diff --git a/secretk/src/jsMain/kotlin/jslibs/keplrwallet/types/keplr.module_@keplr-wallet_types.kt b/secretk/src/jsMain/kotlin/jslibs/keplrwallet/types/keplr.module_@keplr-wallet_types.kt new file mode 100644 index 0000000..771ec78 --- /dev/null +++ b/secretk/src/jsMain/kotlin/jslibs/keplrwallet/types/keplr.module_@keplr-wallet_types.kt @@ -0,0 +1,38 @@ +@file:JsModule("@keplr-wallet/types") +@file:JsNonModule + +package jslibs.keplrwallet.types + +import jslibs.cosmjs.amino.AminoSignResponse +import jslibs.cosmjs.amino.StdSignDoc +import jslibs.cosmjs.amino.StdSignature +import org.khronos.webgl.Uint8Array +import kotlin.js.Promise + + +external interface KeplrSignOptions { + val preferNoSetFee: Boolean? + val preferNoSetMemo: Boolean? + val disableBalanceCheck: Boolean? +} + +external interface Keplr { + fun signAmino( + chainId: String, + signer: String, + signDoc: StdSignDoc, + signOptions: KeplrSignOptions? + ): Promise + + fun signArbitrary( + chainId: String, + signer: String, + signDoc: String, + ): Promise + + fun signArbitrary( + chainId: String, + signer: String, + signDoc: Uint8Array, + ): Promise +} \ No newline at end of file diff --git a/secretk/src/jvmMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/newPermitWithTargetSpecificWallet.kt b/secretk/src/jvmMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/newPermitWithTargetSpecificWallet.kt new file mode 100644 index 0000000..7c6a7f1 --- /dev/null +++ b/secretk/src/jvmMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/newPermitWithTargetSpecificWallet.kt @@ -0,0 +1,14 @@ +package io.eqoty.secretk.extensions.accesscontrol + +import io.eqoty.secretk.types.StdSignature +import io.eqoty.secretk.types.extensions.Permission +import io.eqoty.secretk.wallet.Wallet + +internal actual suspend fun PermitFactory.newPermitWithTargetSpecificWallet( + wallet: Wallet, + owner: String, + chainId: String, + permitName: String, + allowedTokens: List, + permissions: List +): StdSignature? = null \ No newline at end of file diff --git a/secretk/src/nativeMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/newPermitWithTargetSpecificWallet.kt b/secretk/src/nativeMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/newPermitWithTargetSpecificWallet.kt new file mode 100644 index 0000000..7c6a7f1 --- /dev/null +++ b/secretk/src/nativeMain/kotlin/io/eqoty/secretk/extensions/accesscontrol/newPermitWithTargetSpecificWallet.kt @@ -0,0 +1,14 @@ +package io.eqoty.secretk.extensions.accesscontrol + +import io.eqoty.secretk.types.StdSignature +import io.eqoty.secretk.types.extensions.Permission +import io.eqoty.secretk.wallet.Wallet + +internal actual suspend fun PermitFactory.newPermitWithTargetSpecificWallet( + wallet: Wallet, + owner: String, + chainId: String, + permitName: String, + allowedTokens: List, + permissions: List +): StdSignature? = null \ No newline at end of file