├── .gitignore ├── Anchor.toml ├── CHANGELOG.md ├── Cargo.lock ├── Cargo.toml ├── README.md ├── migrations └── deploy.ts ├── package.json ├── programs └── anchor-comp │ ├── Cargo.toml │ ├── Xargo.toml │ └── src │ ├── lib.rs │ └── spl_governance_v3.rs ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .anchor 3 | .DS_Store 4 | target 5 | **/*.rs.bk 6 | node_modules 7 | -------------------------------------------------------------------------------- /Anchor.toml: -------------------------------------------------------------------------------- 1 | [features] 2 | seeds = false 3 | 4 | [programs.localnet] 5 | anchor_comp = "Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS" 6 | 7 | [registry] 8 | url = "https://anchor.projectserum.com" 9 | 10 | [provider] 11 | cluster = "localnet" 12 | wallet = "~/.config/solana/id.json" 13 | 14 | [scripts] 15 | test = "yarn run ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.ts" 16 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | 3 | ## v0.3.0 4 | 5 | 1. Migrate from SplGovernanceV2 to SplGovernanceV3 6 | 2. Remove MangoMarketsV3 support 7 | 8 | ## v0.2.0 9 | 10 | 1. Add SplGovernanceV2 support with : 11 | - DepositGoverningTokens 12 | - WithdrawGoverningTokens 13 | - CastVote 14 | - RelinquishVote 15 | - SetGovernanceDelegate 16 | 17 | ## v0.1.0 18 | 19 | 1. Add MangoMarketsV3 support with : 20 | - CreateMangoAccount 21 | - Deposit 22 | - Withdraw 23 | - PlacePerpOrder2 24 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "ahash" 7 | version = "0.7.6" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" 10 | dependencies = [ 11 | "getrandom 0.2.7", 12 | "once_cell", 13 | "version_check", 14 | ] 15 | 16 | [[package]] 17 | name = "aho-corasick" 18 | version = "0.7.20" 19 | source = "registry+https://github.com/rust-lang/crates.io-index" 20 | checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" 21 | dependencies = [ 22 | "memchr", 23 | ] 24 | 25 | [[package]] 26 | name = "anchor-attribute-access-control" 27 | version = "0.25.0" 28 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 29 | dependencies = [ 30 | "anchor-syn", 31 | "anyhow", 32 | "proc-macro2", 33 | "quote", 34 | "regex", 35 | "syn", 36 | ] 37 | 38 | [[package]] 39 | name = "anchor-attribute-account" 40 | version = "0.25.0" 41 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 42 | dependencies = [ 43 | "anchor-syn", 44 | "anyhow", 45 | "bs58 0.4.0", 46 | "proc-macro2", 47 | "quote", 48 | "rustversion", 49 | "syn", 50 | ] 51 | 52 | [[package]] 53 | name = "anchor-attribute-constant" 54 | version = "0.25.0" 55 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 56 | dependencies = [ 57 | "anchor-syn", 58 | "proc-macro2", 59 | "syn", 60 | ] 61 | 62 | [[package]] 63 | name = "anchor-attribute-error" 64 | version = "0.25.0" 65 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 66 | dependencies = [ 67 | "anchor-syn", 68 | "proc-macro2", 69 | "quote", 70 | "syn", 71 | ] 72 | 73 | [[package]] 74 | name = "anchor-attribute-event" 75 | version = "0.25.0" 76 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 77 | dependencies = [ 78 | "anchor-syn", 79 | "anyhow", 80 | "proc-macro2", 81 | "quote", 82 | "syn", 83 | ] 84 | 85 | [[package]] 86 | name = "anchor-attribute-interface" 87 | version = "0.25.0" 88 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 89 | dependencies = [ 90 | "anchor-syn", 91 | "anyhow", 92 | "heck", 93 | "proc-macro2", 94 | "quote", 95 | "syn", 96 | ] 97 | 98 | [[package]] 99 | name = "anchor-attribute-program" 100 | version = "0.25.0" 101 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 102 | dependencies = [ 103 | "anchor-syn", 104 | "anyhow", 105 | "proc-macro2", 106 | "quote", 107 | "syn", 108 | ] 109 | 110 | [[package]] 111 | name = "anchor-attribute-state" 112 | version = "0.25.0" 113 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 114 | dependencies = [ 115 | "anchor-syn", 116 | "anyhow", 117 | "proc-macro2", 118 | "quote", 119 | "syn", 120 | ] 121 | 122 | [[package]] 123 | name = "anchor-comp" 124 | version = "0.3.1" 125 | dependencies = [ 126 | "anchor-lang", 127 | "solana-program", 128 | "spl-governance", 129 | ] 130 | 131 | [[package]] 132 | name = "anchor-derive-accounts" 133 | version = "0.25.0" 134 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 135 | dependencies = [ 136 | "anchor-syn", 137 | "anyhow", 138 | "proc-macro2", 139 | "quote", 140 | "syn", 141 | ] 142 | 143 | [[package]] 144 | name = "anchor-lang" 145 | version = "0.25.0" 146 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 147 | dependencies = [ 148 | "anchor-attribute-access-control", 149 | "anchor-attribute-account", 150 | "anchor-attribute-constant", 151 | "anchor-attribute-error", 152 | "anchor-attribute-event", 153 | "anchor-attribute-interface", 154 | "anchor-attribute-program", 155 | "anchor-attribute-state", 156 | "anchor-derive-accounts", 157 | "arrayref", 158 | "base64 0.13.0", 159 | "bincode", 160 | "borsh", 161 | "bytemuck", 162 | "solana-program", 163 | "thiserror", 164 | ] 165 | 166 | [[package]] 167 | name = "anchor-syn" 168 | version = "0.25.0" 169 | source = "git+https://github.com/coral-xyz/anchor#fad05805d8b3931169f1ca66253be310ce66ed2e" 170 | dependencies = [ 171 | "anyhow", 172 | "bs58 0.3.1", 173 | "heck", 174 | "proc-macro2", 175 | "proc-macro2-diagnostics", 176 | "quote", 177 | "serde", 178 | "serde_json", 179 | "sha2 0.9.9", 180 | "syn", 181 | "thiserror", 182 | ] 183 | 184 | [[package]] 185 | name = "anyhow" 186 | version = "1.0.62" 187 | source = "registry+https://github.com/rust-lang/crates.io-index" 188 | checksum = "1485d4d2cc45e7b201ee3767015c96faa5904387c9d87c6efdd0fb511f12d305" 189 | 190 | [[package]] 191 | name = "arrayref" 192 | version = "0.3.6" 193 | source = "registry+https://github.com/rust-lang/crates.io-index" 194 | checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" 195 | 196 | [[package]] 197 | name = "arrayvec" 198 | version = "0.7.2" 199 | source = "registry+https://github.com/rust-lang/crates.io-index" 200 | checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" 201 | 202 | [[package]] 203 | name = "autocfg" 204 | version = "1.1.0" 205 | source = "registry+https://github.com/rust-lang/crates.io-index" 206 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 207 | 208 | [[package]] 209 | name = "base64" 210 | version = "0.12.3" 211 | source = "registry+https://github.com/rust-lang/crates.io-index" 212 | checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" 213 | 214 | [[package]] 215 | name = "base64" 216 | version = "0.13.0" 217 | source = "registry+https://github.com/rust-lang/crates.io-index" 218 | checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" 219 | 220 | [[package]] 221 | name = "bincode" 222 | version = "1.3.3" 223 | source = "registry+https://github.com/rust-lang/crates.io-index" 224 | checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" 225 | dependencies = [ 226 | "serde", 227 | ] 228 | 229 | [[package]] 230 | name = "bitflags" 231 | version = "1.3.2" 232 | source = "registry+https://github.com/rust-lang/crates.io-index" 233 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 234 | 235 | [[package]] 236 | name = "bitmaps" 237 | version = "2.1.0" 238 | source = "registry+https://github.com/rust-lang/crates.io-index" 239 | checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" 240 | dependencies = [ 241 | "typenum", 242 | ] 243 | 244 | [[package]] 245 | name = "blake3" 246 | version = "1.3.1" 247 | source = "registry+https://github.com/rust-lang/crates.io-index" 248 | checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f" 249 | dependencies = [ 250 | "arrayref", 251 | "arrayvec", 252 | "cc", 253 | "cfg-if", 254 | "constant_time_eq", 255 | "digest 0.10.6", 256 | ] 257 | 258 | [[package]] 259 | name = "block-buffer" 260 | version = "0.9.0" 261 | source = "registry+https://github.com/rust-lang/crates.io-index" 262 | checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" 263 | dependencies = [ 264 | "block-padding", 265 | "generic-array", 266 | ] 267 | 268 | [[package]] 269 | name = "block-buffer" 270 | version = "0.10.2" 271 | source = "registry+https://github.com/rust-lang/crates.io-index" 272 | checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" 273 | dependencies = [ 274 | "generic-array", 275 | ] 276 | 277 | [[package]] 278 | name = "block-padding" 279 | version = "0.2.1" 280 | source = "registry+https://github.com/rust-lang/crates.io-index" 281 | checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" 282 | 283 | [[package]] 284 | name = "borsh" 285 | version = "0.9.3" 286 | source = "registry+https://github.com/rust-lang/crates.io-index" 287 | checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" 288 | dependencies = [ 289 | "borsh-derive", 290 | "hashbrown 0.11.2", 291 | ] 292 | 293 | [[package]] 294 | name = "borsh-derive" 295 | version = "0.9.3" 296 | source = "registry+https://github.com/rust-lang/crates.io-index" 297 | checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" 298 | dependencies = [ 299 | "borsh-derive-internal", 300 | "borsh-schema-derive-internal", 301 | "proc-macro-crate 0.1.5", 302 | "proc-macro2", 303 | "syn", 304 | ] 305 | 306 | [[package]] 307 | name = "borsh-derive-internal" 308 | version = "0.9.3" 309 | source = "registry+https://github.com/rust-lang/crates.io-index" 310 | checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" 311 | dependencies = [ 312 | "proc-macro2", 313 | "quote", 314 | "syn", 315 | ] 316 | 317 | [[package]] 318 | name = "borsh-schema-derive-internal" 319 | version = "0.9.3" 320 | source = "registry+https://github.com/rust-lang/crates.io-index" 321 | checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" 322 | dependencies = [ 323 | "proc-macro2", 324 | "quote", 325 | "syn", 326 | ] 327 | 328 | [[package]] 329 | name = "bs58" 330 | version = "0.3.1" 331 | source = "registry+https://github.com/rust-lang/crates.io-index" 332 | checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb" 333 | 334 | [[package]] 335 | name = "bs58" 336 | version = "0.4.0" 337 | source = "registry+https://github.com/rust-lang/crates.io-index" 338 | checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" 339 | 340 | [[package]] 341 | name = "bumpalo" 342 | version = "3.11.0" 343 | source = "registry+https://github.com/rust-lang/crates.io-index" 344 | checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" 345 | 346 | [[package]] 347 | name = "bv" 348 | version = "0.11.1" 349 | source = "registry+https://github.com/rust-lang/crates.io-index" 350 | checksum = "8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340" 351 | dependencies = [ 352 | "feature-probe", 353 | "serde", 354 | ] 355 | 356 | [[package]] 357 | name = "bytemuck" 358 | version = "1.12.1" 359 | source = "registry+https://github.com/rust-lang/crates.io-index" 360 | checksum = "2f5715e491b5a1598fc2bef5a606847b5dc1d48ea625bd3c02c00de8285591da" 361 | dependencies = [ 362 | "bytemuck_derive", 363 | ] 364 | 365 | [[package]] 366 | name = "bytemuck_derive" 367 | version = "1.2.1" 368 | source = "registry+https://github.com/rust-lang/crates.io-index" 369 | checksum = "1b9e1f5fa78f69496407a27ae9ed989e3c3b072310286f5ef385525e4cbc24a9" 370 | dependencies = [ 371 | "proc-macro2", 372 | "quote", 373 | "syn", 374 | ] 375 | 376 | [[package]] 377 | name = "byteorder" 378 | version = "1.4.3" 379 | source = "registry+https://github.com/rust-lang/crates.io-index" 380 | checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 381 | 382 | [[package]] 383 | name = "cc" 384 | version = "1.0.73" 385 | source = "registry+https://github.com/rust-lang/crates.io-index" 386 | checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" 387 | dependencies = [ 388 | "jobserver", 389 | ] 390 | 391 | [[package]] 392 | name = "cfg-if" 393 | version = "1.0.0" 394 | source = "registry+https://github.com/rust-lang/crates.io-index" 395 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 396 | 397 | [[package]] 398 | name = "console_error_panic_hook" 399 | version = "0.1.7" 400 | source = "registry+https://github.com/rust-lang/crates.io-index" 401 | checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" 402 | dependencies = [ 403 | "cfg-if", 404 | "wasm-bindgen", 405 | ] 406 | 407 | [[package]] 408 | name = "console_log" 409 | version = "0.2.0" 410 | source = "registry+https://github.com/rust-lang/crates.io-index" 411 | checksum = "501a375961cef1a0d44767200e66e4a559283097e91d0730b1d75dfb2f8a1494" 412 | dependencies = [ 413 | "log", 414 | "web-sys", 415 | ] 416 | 417 | [[package]] 418 | name = "constant_time_eq" 419 | version = "0.1.5" 420 | source = "registry+https://github.com/rust-lang/crates.io-index" 421 | checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" 422 | 423 | [[package]] 424 | name = "cpufeatures" 425 | version = "0.2.4" 426 | source = "registry+https://github.com/rust-lang/crates.io-index" 427 | checksum = "dc948ebb96241bb40ab73effeb80d9f93afaad49359d159a5e61be51619fe813" 428 | dependencies = [ 429 | "libc", 430 | ] 431 | 432 | [[package]] 433 | name = "crossbeam-channel" 434 | version = "0.5.6" 435 | source = "registry+https://github.com/rust-lang/crates.io-index" 436 | checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" 437 | dependencies = [ 438 | "cfg-if", 439 | "crossbeam-utils", 440 | ] 441 | 442 | [[package]] 443 | name = "crossbeam-deque" 444 | version = "0.8.2" 445 | source = "registry+https://github.com/rust-lang/crates.io-index" 446 | checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" 447 | dependencies = [ 448 | "cfg-if", 449 | "crossbeam-epoch", 450 | "crossbeam-utils", 451 | ] 452 | 453 | [[package]] 454 | name = "crossbeam-epoch" 455 | version = "0.9.13" 456 | source = "registry+https://github.com/rust-lang/crates.io-index" 457 | checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" 458 | dependencies = [ 459 | "autocfg", 460 | "cfg-if", 461 | "crossbeam-utils", 462 | "memoffset 0.7.1", 463 | "scopeguard", 464 | ] 465 | 466 | [[package]] 467 | name = "crossbeam-utils" 468 | version = "0.8.14" 469 | source = "registry+https://github.com/rust-lang/crates.io-index" 470 | checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" 471 | dependencies = [ 472 | "cfg-if", 473 | ] 474 | 475 | [[package]] 476 | name = "crunchy" 477 | version = "0.2.2" 478 | source = "registry+https://github.com/rust-lang/crates.io-index" 479 | checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" 480 | 481 | [[package]] 482 | name = "crypto-common" 483 | version = "0.1.6" 484 | source = "registry+https://github.com/rust-lang/crates.io-index" 485 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 486 | dependencies = [ 487 | "generic-array", 488 | "typenum", 489 | ] 490 | 491 | [[package]] 492 | name = "crypto-mac" 493 | version = "0.8.0" 494 | source = "registry+https://github.com/rust-lang/crates.io-index" 495 | checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" 496 | dependencies = [ 497 | "generic-array", 498 | "subtle", 499 | ] 500 | 501 | [[package]] 502 | name = "curve25519-dalek" 503 | version = "3.2.1" 504 | source = "registry+https://github.com/rust-lang/crates.io-index" 505 | checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" 506 | dependencies = [ 507 | "byteorder", 508 | "digest 0.9.0", 509 | "rand_core 0.5.1", 510 | "serde", 511 | "subtle", 512 | "zeroize", 513 | ] 514 | 515 | [[package]] 516 | name = "digest" 517 | version = "0.9.0" 518 | source = "registry+https://github.com/rust-lang/crates.io-index" 519 | checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" 520 | dependencies = [ 521 | "generic-array", 522 | ] 523 | 524 | [[package]] 525 | name = "digest" 526 | version = "0.10.6" 527 | source = "registry+https://github.com/rust-lang/crates.io-index" 528 | checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" 529 | dependencies = [ 530 | "block-buffer 0.10.2", 531 | "crypto-common", 532 | "subtle", 533 | ] 534 | 535 | [[package]] 536 | name = "either" 537 | version = "1.8.0" 538 | source = "registry+https://github.com/rust-lang/crates.io-index" 539 | checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" 540 | 541 | [[package]] 542 | name = "feature-probe" 543 | version = "0.1.1" 544 | source = "registry+https://github.com/rust-lang/crates.io-index" 545 | checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" 546 | 547 | [[package]] 548 | name = "generic-array" 549 | version = "0.14.6" 550 | source = "registry+https://github.com/rust-lang/crates.io-index" 551 | checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" 552 | dependencies = [ 553 | "serde", 554 | "typenum", 555 | "version_check", 556 | ] 557 | 558 | [[package]] 559 | name = "getrandom" 560 | version = "0.1.16" 561 | source = "registry+https://github.com/rust-lang/crates.io-index" 562 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" 563 | dependencies = [ 564 | "cfg-if", 565 | "js-sys", 566 | "libc", 567 | "wasi 0.9.0+wasi-snapshot-preview1", 568 | "wasm-bindgen", 569 | ] 570 | 571 | [[package]] 572 | name = "getrandom" 573 | version = "0.2.7" 574 | source = "registry+https://github.com/rust-lang/crates.io-index" 575 | checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" 576 | dependencies = [ 577 | "cfg-if", 578 | "js-sys", 579 | "libc", 580 | "wasi 0.11.0+wasi-snapshot-preview1", 581 | "wasm-bindgen", 582 | ] 583 | 584 | [[package]] 585 | name = "hashbrown" 586 | version = "0.11.2" 587 | source = "registry+https://github.com/rust-lang/crates.io-index" 588 | checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" 589 | dependencies = [ 590 | "ahash", 591 | ] 592 | 593 | [[package]] 594 | name = "hashbrown" 595 | version = "0.12.3" 596 | source = "registry+https://github.com/rust-lang/crates.io-index" 597 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 598 | dependencies = [ 599 | "ahash", 600 | ] 601 | 602 | [[package]] 603 | name = "heck" 604 | version = "0.3.3" 605 | source = "registry+https://github.com/rust-lang/crates.io-index" 606 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 607 | dependencies = [ 608 | "unicode-segmentation", 609 | ] 610 | 611 | [[package]] 612 | name = "hermit-abi" 613 | version = "0.1.19" 614 | source = "registry+https://github.com/rust-lang/crates.io-index" 615 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 616 | dependencies = [ 617 | "libc", 618 | ] 619 | 620 | [[package]] 621 | name = "hmac" 622 | version = "0.8.1" 623 | source = "registry+https://github.com/rust-lang/crates.io-index" 624 | checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" 625 | dependencies = [ 626 | "crypto-mac", 627 | "digest 0.9.0", 628 | ] 629 | 630 | [[package]] 631 | name = "hmac-drbg" 632 | version = "0.3.0" 633 | source = "registry+https://github.com/rust-lang/crates.io-index" 634 | checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" 635 | dependencies = [ 636 | "digest 0.9.0", 637 | "generic-array", 638 | "hmac", 639 | ] 640 | 641 | [[package]] 642 | name = "im" 643 | version = "15.1.0" 644 | source = "registry+https://github.com/rust-lang/crates.io-index" 645 | checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" 646 | dependencies = [ 647 | "bitmaps", 648 | "rand_core 0.6.4", 649 | "rand_xoshiro", 650 | "rayon", 651 | "serde", 652 | "sized-chunks", 653 | "typenum", 654 | "version_check", 655 | ] 656 | 657 | [[package]] 658 | name = "itertools" 659 | version = "0.10.3" 660 | source = "registry+https://github.com/rust-lang/crates.io-index" 661 | checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" 662 | dependencies = [ 663 | "either", 664 | ] 665 | 666 | [[package]] 667 | name = "itoa" 668 | version = "1.0.3" 669 | source = "registry+https://github.com/rust-lang/crates.io-index" 670 | checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" 671 | 672 | [[package]] 673 | name = "jobserver" 674 | version = "0.1.25" 675 | source = "registry+https://github.com/rust-lang/crates.io-index" 676 | checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" 677 | dependencies = [ 678 | "libc", 679 | ] 680 | 681 | [[package]] 682 | name = "js-sys" 683 | version = "0.3.59" 684 | source = "registry+https://github.com/rust-lang/crates.io-index" 685 | checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2" 686 | dependencies = [ 687 | "wasm-bindgen", 688 | ] 689 | 690 | [[package]] 691 | name = "keccak" 692 | version = "0.1.2" 693 | source = "registry+https://github.com/rust-lang/crates.io-index" 694 | checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" 695 | 696 | [[package]] 697 | name = "lazy_static" 698 | version = "1.4.0" 699 | source = "registry+https://github.com/rust-lang/crates.io-index" 700 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 701 | 702 | [[package]] 703 | name = "libc" 704 | version = "0.2.132" 705 | source = "registry+https://github.com/rust-lang/crates.io-index" 706 | checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" 707 | 708 | [[package]] 709 | name = "libsecp256k1" 710 | version = "0.6.0" 711 | source = "registry+https://github.com/rust-lang/crates.io-index" 712 | checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73" 713 | dependencies = [ 714 | "arrayref", 715 | "base64 0.12.3", 716 | "digest 0.9.0", 717 | "hmac-drbg", 718 | "libsecp256k1-core", 719 | "libsecp256k1-gen-ecmult", 720 | "libsecp256k1-gen-genmult", 721 | "rand", 722 | "serde", 723 | "sha2 0.9.9", 724 | "typenum", 725 | ] 726 | 727 | [[package]] 728 | name = "libsecp256k1-core" 729 | version = "0.2.2" 730 | source = "registry+https://github.com/rust-lang/crates.io-index" 731 | checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" 732 | dependencies = [ 733 | "crunchy", 734 | "digest 0.9.0", 735 | "subtle", 736 | ] 737 | 738 | [[package]] 739 | name = "libsecp256k1-gen-ecmult" 740 | version = "0.2.1" 741 | source = "registry+https://github.com/rust-lang/crates.io-index" 742 | checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" 743 | dependencies = [ 744 | "libsecp256k1-core", 745 | ] 746 | 747 | [[package]] 748 | name = "libsecp256k1-gen-genmult" 749 | version = "0.2.1" 750 | source = "registry+https://github.com/rust-lang/crates.io-index" 751 | checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" 752 | dependencies = [ 753 | "libsecp256k1-core", 754 | ] 755 | 756 | [[package]] 757 | name = "lock_api" 758 | version = "0.4.7" 759 | source = "registry+https://github.com/rust-lang/crates.io-index" 760 | checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" 761 | dependencies = [ 762 | "autocfg", 763 | "scopeguard", 764 | ] 765 | 766 | [[package]] 767 | name = "log" 768 | version = "0.4.17" 769 | source = "registry+https://github.com/rust-lang/crates.io-index" 770 | checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" 771 | dependencies = [ 772 | "cfg-if", 773 | ] 774 | 775 | [[package]] 776 | name = "memchr" 777 | version = "2.5.0" 778 | source = "registry+https://github.com/rust-lang/crates.io-index" 779 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 780 | 781 | [[package]] 782 | name = "memmap2" 783 | version = "0.5.7" 784 | source = "registry+https://github.com/rust-lang/crates.io-index" 785 | checksum = "95af15f345b17af2efc8ead6080fb8bc376f8cec1b35277b935637595fe77498" 786 | dependencies = [ 787 | "libc", 788 | ] 789 | 790 | [[package]] 791 | name = "memoffset" 792 | version = "0.6.5" 793 | source = "registry+https://github.com/rust-lang/crates.io-index" 794 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" 795 | dependencies = [ 796 | "autocfg", 797 | ] 798 | 799 | [[package]] 800 | name = "memoffset" 801 | version = "0.7.1" 802 | source = "registry+https://github.com/rust-lang/crates.io-index" 803 | checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" 804 | dependencies = [ 805 | "autocfg", 806 | ] 807 | 808 | [[package]] 809 | name = "num-derive" 810 | version = "0.3.3" 811 | source = "registry+https://github.com/rust-lang/crates.io-index" 812 | checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" 813 | dependencies = [ 814 | "proc-macro2", 815 | "quote", 816 | "syn", 817 | ] 818 | 819 | [[package]] 820 | name = "num-traits" 821 | version = "0.2.15" 822 | source = "registry+https://github.com/rust-lang/crates.io-index" 823 | checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" 824 | dependencies = [ 825 | "autocfg", 826 | ] 827 | 828 | [[package]] 829 | name = "num_cpus" 830 | version = "1.14.0" 831 | source = "registry+https://github.com/rust-lang/crates.io-index" 832 | checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" 833 | dependencies = [ 834 | "hermit-abi", 835 | "libc", 836 | ] 837 | 838 | [[package]] 839 | name = "num_enum" 840 | version = "0.5.7" 841 | source = "registry+https://github.com/rust-lang/crates.io-index" 842 | checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" 843 | dependencies = [ 844 | "num_enum_derive", 845 | ] 846 | 847 | [[package]] 848 | name = "num_enum_derive" 849 | version = "0.5.7" 850 | source = "registry+https://github.com/rust-lang/crates.io-index" 851 | checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" 852 | dependencies = [ 853 | "proc-macro-crate 1.2.1", 854 | "proc-macro2", 855 | "quote", 856 | "syn", 857 | ] 858 | 859 | [[package]] 860 | name = "once_cell" 861 | version = "1.13.1" 862 | source = "registry+https://github.com/rust-lang/crates.io-index" 863 | checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e" 864 | 865 | [[package]] 866 | name = "opaque-debug" 867 | version = "0.3.0" 868 | source = "registry+https://github.com/rust-lang/crates.io-index" 869 | checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" 870 | 871 | [[package]] 872 | name = "parking_lot" 873 | version = "0.12.1" 874 | source = "registry+https://github.com/rust-lang/crates.io-index" 875 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 876 | dependencies = [ 877 | "lock_api", 878 | "parking_lot_core", 879 | ] 880 | 881 | [[package]] 882 | name = "parking_lot_core" 883 | version = "0.9.5" 884 | source = "registry+https://github.com/rust-lang/crates.io-index" 885 | checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" 886 | dependencies = [ 887 | "cfg-if", 888 | "libc", 889 | "redox_syscall", 890 | "smallvec", 891 | "windows-sys", 892 | ] 893 | 894 | [[package]] 895 | name = "pbkdf2" 896 | version = "0.4.0" 897 | source = "registry+https://github.com/rust-lang/crates.io-index" 898 | checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" 899 | dependencies = [ 900 | "crypto-mac", 901 | ] 902 | 903 | [[package]] 904 | name = "ppv-lite86" 905 | version = "0.2.16" 906 | source = "registry+https://github.com/rust-lang/crates.io-index" 907 | checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" 908 | 909 | [[package]] 910 | name = "proc-macro-crate" 911 | version = "0.1.5" 912 | source = "registry+https://github.com/rust-lang/crates.io-index" 913 | checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" 914 | dependencies = [ 915 | "toml", 916 | ] 917 | 918 | [[package]] 919 | name = "proc-macro-crate" 920 | version = "1.2.1" 921 | source = "registry+https://github.com/rust-lang/crates.io-index" 922 | checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" 923 | dependencies = [ 924 | "once_cell", 925 | "thiserror", 926 | "toml", 927 | ] 928 | 929 | [[package]] 930 | name = "proc-macro2" 931 | version = "1.0.43" 932 | source = "registry+https://github.com/rust-lang/crates.io-index" 933 | checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" 934 | dependencies = [ 935 | "unicode-ident", 936 | ] 937 | 938 | [[package]] 939 | name = "proc-macro2-diagnostics" 940 | version = "0.9.1" 941 | source = "registry+https://github.com/rust-lang/crates.io-index" 942 | checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" 943 | dependencies = [ 944 | "proc-macro2", 945 | "quote", 946 | "syn", 947 | "version_check", 948 | "yansi", 949 | ] 950 | 951 | [[package]] 952 | name = "quote" 953 | version = "1.0.21" 954 | source = "registry+https://github.com/rust-lang/crates.io-index" 955 | checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" 956 | dependencies = [ 957 | "proc-macro2", 958 | ] 959 | 960 | [[package]] 961 | name = "rand" 962 | version = "0.7.3" 963 | source = "registry+https://github.com/rust-lang/crates.io-index" 964 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" 965 | dependencies = [ 966 | "getrandom 0.1.16", 967 | "libc", 968 | "rand_chacha", 969 | "rand_core 0.5.1", 970 | "rand_hc", 971 | ] 972 | 973 | [[package]] 974 | name = "rand_chacha" 975 | version = "0.2.2" 976 | source = "registry+https://github.com/rust-lang/crates.io-index" 977 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" 978 | dependencies = [ 979 | "ppv-lite86", 980 | "rand_core 0.5.1", 981 | ] 982 | 983 | [[package]] 984 | name = "rand_core" 985 | version = "0.5.1" 986 | source = "registry+https://github.com/rust-lang/crates.io-index" 987 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" 988 | dependencies = [ 989 | "getrandom 0.1.16", 990 | ] 991 | 992 | [[package]] 993 | name = "rand_core" 994 | version = "0.6.4" 995 | source = "registry+https://github.com/rust-lang/crates.io-index" 996 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 997 | dependencies = [ 998 | "getrandom 0.2.7", 999 | ] 1000 | 1001 | [[package]] 1002 | name = "rand_hc" 1003 | version = "0.2.0" 1004 | source = "registry+https://github.com/rust-lang/crates.io-index" 1005 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" 1006 | dependencies = [ 1007 | "rand_core 0.5.1", 1008 | ] 1009 | 1010 | [[package]] 1011 | name = "rand_xoshiro" 1012 | version = "0.6.0" 1013 | source = "registry+https://github.com/rust-lang/crates.io-index" 1014 | checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" 1015 | dependencies = [ 1016 | "rand_core 0.6.4", 1017 | ] 1018 | 1019 | [[package]] 1020 | name = "rayon" 1021 | version = "1.6.1" 1022 | source = "registry+https://github.com/rust-lang/crates.io-index" 1023 | checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" 1024 | dependencies = [ 1025 | "either", 1026 | "rayon-core", 1027 | ] 1028 | 1029 | [[package]] 1030 | name = "rayon-core" 1031 | version = "1.10.1" 1032 | source = "registry+https://github.com/rust-lang/crates.io-index" 1033 | checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" 1034 | dependencies = [ 1035 | "crossbeam-channel", 1036 | "crossbeam-deque", 1037 | "crossbeam-utils", 1038 | "num_cpus", 1039 | ] 1040 | 1041 | [[package]] 1042 | name = "redox_syscall" 1043 | version = "0.2.16" 1044 | source = "registry+https://github.com/rust-lang/crates.io-index" 1045 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 1046 | dependencies = [ 1047 | "bitflags", 1048 | ] 1049 | 1050 | [[package]] 1051 | name = "regex" 1052 | version = "1.7.0" 1053 | source = "registry+https://github.com/rust-lang/crates.io-index" 1054 | checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" 1055 | dependencies = [ 1056 | "aho-corasick", 1057 | "memchr", 1058 | "regex-syntax", 1059 | ] 1060 | 1061 | [[package]] 1062 | name = "regex-syntax" 1063 | version = "0.6.28" 1064 | source = "registry+https://github.com/rust-lang/crates.io-index" 1065 | checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" 1066 | 1067 | [[package]] 1068 | name = "rustc-hash" 1069 | version = "1.1.0" 1070 | source = "registry+https://github.com/rust-lang/crates.io-index" 1071 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 1072 | 1073 | [[package]] 1074 | name = "rustc_version" 1075 | version = "0.4.0" 1076 | source = "registry+https://github.com/rust-lang/crates.io-index" 1077 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 1078 | dependencies = [ 1079 | "semver", 1080 | ] 1081 | 1082 | [[package]] 1083 | name = "rustversion" 1084 | version = "1.0.9" 1085 | source = "registry+https://github.com/rust-lang/crates.io-index" 1086 | checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" 1087 | 1088 | [[package]] 1089 | name = "ryu" 1090 | version = "1.0.11" 1091 | source = "registry+https://github.com/rust-lang/crates.io-index" 1092 | checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" 1093 | 1094 | [[package]] 1095 | name = "scopeguard" 1096 | version = "1.1.0" 1097 | source = "registry+https://github.com/rust-lang/crates.io-index" 1098 | checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 1099 | 1100 | [[package]] 1101 | name = "semver" 1102 | version = "1.0.13" 1103 | source = "registry+https://github.com/rust-lang/crates.io-index" 1104 | checksum = "93f6841e709003d68bb2deee8c343572bf446003ec20a583e76f7b15cebf3711" 1105 | 1106 | [[package]] 1107 | name = "serde" 1108 | version = "1.0.144" 1109 | source = "registry+https://github.com/rust-lang/crates.io-index" 1110 | checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" 1111 | dependencies = [ 1112 | "serde_derive", 1113 | ] 1114 | 1115 | [[package]] 1116 | name = "serde_bytes" 1117 | version = "0.11.7" 1118 | source = "registry+https://github.com/rust-lang/crates.io-index" 1119 | checksum = "cfc50e8183eeeb6178dcb167ae34a8051d63535023ae38b5d8d12beae193d37b" 1120 | dependencies = [ 1121 | "serde", 1122 | ] 1123 | 1124 | [[package]] 1125 | name = "serde_derive" 1126 | version = "1.0.144" 1127 | source = "registry+https://github.com/rust-lang/crates.io-index" 1128 | checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" 1129 | dependencies = [ 1130 | "proc-macro2", 1131 | "quote", 1132 | "syn", 1133 | ] 1134 | 1135 | [[package]] 1136 | name = "serde_json" 1137 | version = "1.0.85" 1138 | source = "registry+https://github.com/rust-lang/crates.io-index" 1139 | checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" 1140 | dependencies = [ 1141 | "itoa", 1142 | "ryu", 1143 | "serde", 1144 | ] 1145 | 1146 | [[package]] 1147 | name = "sha2" 1148 | version = "0.9.9" 1149 | source = "registry+https://github.com/rust-lang/crates.io-index" 1150 | checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" 1151 | dependencies = [ 1152 | "block-buffer 0.9.0", 1153 | "cfg-if", 1154 | "cpufeatures", 1155 | "digest 0.9.0", 1156 | "opaque-debug", 1157 | ] 1158 | 1159 | [[package]] 1160 | name = "sha2" 1161 | version = "0.10.6" 1162 | source = "registry+https://github.com/rust-lang/crates.io-index" 1163 | checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" 1164 | dependencies = [ 1165 | "cfg-if", 1166 | "cpufeatures", 1167 | "digest 0.10.6", 1168 | ] 1169 | 1170 | [[package]] 1171 | name = "sha3" 1172 | version = "0.10.6" 1173 | source = "registry+https://github.com/rust-lang/crates.io-index" 1174 | checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" 1175 | dependencies = [ 1176 | "digest 0.10.6", 1177 | "keccak", 1178 | ] 1179 | 1180 | [[package]] 1181 | name = "sized-chunks" 1182 | version = "0.6.5" 1183 | source = "registry+https://github.com/rust-lang/crates.io-index" 1184 | checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" 1185 | dependencies = [ 1186 | "bitmaps", 1187 | "typenum", 1188 | ] 1189 | 1190 | [[package]] 1191 | name = "smallvec" 1192 | version = "1.9.0" 1193 | source = "registry+https://github.com/rust-lang/crates.io-index" 1194 | checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" 1195 | 1196 | [[package]] 1197 | name = "solana-frozen-abi" 1198 | version = "1.14.10" 1199 | source = "registry+https://github.com/rust-lang/crates.io-index" 1200 | checksum = "a73da3a286cf0d1ab25d669c17a3c2b5fe1334f8262b9673cb22912d92a94b14" 1201 | dependencies = [ 1202 | "ahash", 1203 | "blake3", 1204 | "block-buffer 0.9.0", 1205 | "bs58 0.4.0", 1206 | "bv", 1207 | "byteorder", 1208 | "cc", 1209 | "either", 1210 | "generic-array", 1211 | "getrandom 0.1.16", 1212 | "hashbrown 0.12.3", 1213 | "im", 1214 | "lazy_static", 1215 | "log", 1216 | "memmap2", 1217 | "once_cell", 1218 | "rand_core 0.6.4", 1219 | "rustc_version", 1220 | "serde", 1221 | "serde_bytes", 1222 | "serde_derive", 1223 | "serde_json", 1224 | "sha2 0.10.6", 1225 | "solana-frozen-abi-macro", 1226 | "subtle", 1227 | "thiserror", 1228 | ] 1229 | 1230 | [[package]] 1231 | name = "solana-frozen-abi-macro" 1232 | version = "1.14.10" 1233 | source = "registry+https://github.com/rust-lang/crates.io-index" 1234 | checksum = "c88a0446927b49aee9b40ec1c6a96be562a9de543a0c58483a8520f99f454f36" 1235 | dependencies = [ 1236 | "proc-macro2", 1237 | "quote", 1238 | "rustc_version", 1239 | "syn", 1240 | ] 1241 | 1242 | [[package]] 1243 | name = "solana-program" 1244 | version = "1.14.10" 1245 | source = "registry+https://github.com/rust-lang/crates.io-index" 1246 | checksum = "927d3d7e49093e601811a89ede4a9698059fb819871b3eba88a6cb0c964040fe" 1247 | dependencies = [ 1248 | "base64 0.13.0", 1249 | "bincode", 1250 | "bitflags", 1251 | "blake3", 1252 | "borsh", 1253 | "borsh-derive", 1254 | "bs58 0.4.0", 1255 | "bv", 1256 | "bytemuck", 1257 | "cc", 1258 | "console_error_panic_hook", 1259 | "console_log", 1260 | "curve25519-dalek", 1261 | "getrandom 0.2.7", 1262 | "itertools", 1263 | "js-sys", 1264 | "lazy_static", 1265 | "libc", 1266 | "libsecp256k1", 1267 | "log", 1268 | "memoffset 0.6.5", 1269 | "num-derive", 1270 | "num-traits", 1271 | "parking_lot", 1272 | "rand", 1273 | "rand_chacha", 1274 | "rustc_version", 1275 | "rustversion", 1276 | "serde", 1277 | "serde_bytes", 1278 | "serde_derive", 1279 | "serde_json", 1280 | "sha2 0.10.6", 1281 | "sha3", 1282 | "solana-frozen-abi", 1283 | "solana-frozen-abi-macro", 1284 | "solana-sdk-macro", 1285 | "thiserror", 1286 | "tiny-bip39", 1287 | "wasm-bindgen", 1288 | "zeroize", 1289 | ] 1290 | 1291 | [[package]] 1292 | name = "solana-sdk-macro" 1293 | version = "1.14.10" 1294 | source = "registry+https://github.com/rust-lang/crates.io-index" 1295 | checksum = "f511aecadeab3ebc0db10e78d9e7b571dffe1744c0003d6602f537581c3448cf" 1296 | dependencies = [ 1297 | "bs58 0.4.0", 1298 | "proc-macro2", 1299 | "quote", 1300 | "rustversion", 1301 | "syn", 1302 | ] 1303 | 1304 | [[package]] 1305 | name = "spl-governance" 1306 | version = "3.1.0" 1307 | source = "git+https://github.com/solana-labs/solana-program-library?tag=governance-v3.1.0#7b90ecfa9fbaa19eb18067a6a50587caa73ad3c6" 1308 | dependencies = [ 1309 | "arrayref", 1310 | "bincode", 1311 | "borsh", 1312 | "num-derive", 1313 | "num-traits", 1314 | "serde", 1315 | "serde_derive", 1316 | "solana-program", 1317 | "spl-governance-addin-api", 1318 | "spl-governance-tools", 1319 | "spl-token", 1320 | "thiserror", 1321 | ] 1322 | 1323 | [[package]] 1324 | name = "spl-governance-addin-api" 1325 | version = "0.1.3" 1326 | source = "git+https://github.com/solana-labs/solana-program-library?tag=governance-v3.1.0#7b90ecfa9fbaa19eb18067a6a50587caa73ad3c6" 1327 | dependencies = [ 1328 | "borsh", 1329 | "solana-program", 1330 | "spl-governance-tools", 1331 | ] 1332 | 1333 | [[package]] 1334 | name = "spl-governance-tools" 1335 | version = "0.1.3" 1336 | source = "git+https://github.com/solana-labs/solana-program-library?tag=governance-v3.1.0#7b90ecfa9fbaa19eb18067a6a50587caa73ad3c6" 1337 | dependencies = [ 1338 | "arrayref", 1339 | "bincode", 1340 | "borsh", 1341 | "num-derive", 1342 | "num-traits", 1343 | "serde", 1344 | "serde_derive", 1345 | "solana-program", 1346 | "spl-token", 1347 | "thiserror", 1348 | ] 1349 | 1350 | [[package]] 1351 | name = "spl-token" 1352 | version = "3.5.0" 1353 | source = "git+https://github.com/solana-labs/solana-program-library?tag=governance-v3.1.0#7b90ecfa9fbaa19eb18067a6a50587caa73ad3c6" 1354 | dependencies = [ 1355 | "arrayref", 1356 | "bytemuck", 1357 | "num-derive", 1358 | "num-traits", 1359 | "num_enum", 1360 | "solana-program", 1361 | "thiserror", 1362 | ] 1363 | 1364 | [[package]] 1365 | name = "subtle" 1366 | version = "2.4.1" 1367 | source = "registry+https://github.com/rust-lang/crates.io-index" 1368 | checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" 1369 | 1370 | [[package]] 1371 | name = "syn" 1372 | version = "1.0.99" 1373 | source = "registry+https://github.com/rust-lang/crates.io-index" 1374 | checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" 1375 | dependencies = [ 1376 | "proc-macro2", 1377 | "quote", 1378 | "unicode-ident", 1379 | ] 1380 | 1381 | [[package]] 1382 | name = "synstructure" 1383 | version = "0.12.6" 1384 | source = "registry+https://github.com/rust-lang/crates.io-index" 1385 | checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" 1386 | dependencies = [ 1387 | "proc-macro2", 1388 | "quote", 1389 | "syn", 1390 | "unicode-xid", 1391 | ] 1392 | 1393 | [[package]] 1394 | name = "thiserror" 1395 | version = "1.0.32" 1396 | source = "registry+https://github.com/rust-lang/crates.io-index" 1397 | checksum = "f5f6586b7f764adc0231f4c79be7b920e766bb2f3e51b3661cdb263828f19994" 1398 | dependencies = [ 1399 | "thiserror-impl", 1400 | ] 1401 | 1402 | [[package]] 1403 | name = "thiserror-impl" 1404 | version = "1.0.32" 1405 | source = "registry+https://github.com/rust-lang/crates.io-index" 1406 | checksum = "12bafc5b54507e0149cdf1b145a5d80ab80a90bcd9275df43d4fff68460f6c21" 1407 | dependencies = [ 1408 | "proc-macro2", 1409 | "quote", 1410 | "syn", 1411 | ] 1412 | 1413 | [[package]] 1414 | name = "tiny-bip39" 1415 | version = "0.8.2" 1416 | source = "registry+https://github.com/rust-lang/crates.io-index" 1417 | checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" 1418 | dependencies = [ 1419 | "anyhow", 1420 | "hmac", 1421 | "once_cell", 1422 | "pbkdf2", 1423 | "rand", 1424 | "rustc-hash", 1425 | "sha2 0.9.9", 1426 | "thiserror", 1427 | "unicode-normalization", 1428 | "wasm-bindgen", 1429 | "zeroize", 1430 | ] 1431 | 1432 | [[package]] 1433 | name = "tinyvec" 1434 | version = "1.6.0" 1435 | source = "registry+https://github.com/rust-lang/crates.io-index" 1436 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 1437 | dependencies = [ 1438 | "tinyvec_macros", 1439 | ] 1440 | 1441 | [[package]] 1442 | name = "tinyvec_macros" 1443 | version = "0.1.0" 1444 | source = "registry+https://github.com/rust-lang/crates.io-index" 1445 | checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" 1446 | 1447 | [[package]] 1448 | name = "toml" 1449 | version = "0.5.9" 1450 | source = "registry+https://github.com/rust-lang/crates.io-index" 1451 | checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" 1452 | dependencies = [ 1453 | "serde", 1454 | ] 1455 | 1456 | [[package]] 1457 | name = "typenum" 1458 | version = "1.15.0" 1459 | source = "registry+https://github.com/rust-lang/crates.io-index" 1460 | checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" 1461 | 1462 | [[package]] 1463 | name = "unicode-ident" 1464 | version = "1.0.3" 1465 | source = "registry+https://github.com/rust-lang/crates.io-index" 1466 | checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" 1467 | 1468 | [[package]] 1469 | name = "unicode-normalization" 1470 | version = "0.1.22" 1471 | source = "registry+https://github.com/rust-lang/crates.io-index" 1472 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 1473 | dependencies = [ 1474 | "tinyvec", 1475 | ] 1476 | 1477 | [[package]] 1478 | name = "unicode-segmentation" 1479 | version = "1.10.0" 1480 | source = "registry+https://github.com/rust-lang/crates.io-index" 1481 | checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" 1482 | 1483 | [[package]] 1484 | name = "unicode-xid" 1485 | version = "0.2.4" 1486 | source = "registry+https://github.com/rust-lang/crates.io-index" 1487 | checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" 1488 | 1489 | [[package]] 1490 | name = "version_check" 1491 | version = "0.9.4" 1492 | source = "registry+https://github.com/rust-lang/crates.io-index" 1493 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 1494 | 1495 | [[package]] 1496 | name = "wasi" 1497 | version = "0.9.0+wasi-snapshot-preview1" 1498 | source = "registry+https://github.com/rust-lang/crates.io-index" 1499 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" 1500 | 1501 | [[package]] 1502 | name = "wasi" 1503 | version = "0.11.0+wasi-snapshot-preview1" 1504 | source = "registry+https://github.com/rust-lang/crates.io-index" 1505 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1506 | 1507 | [[package]] 1508 | name = "wasm-bindgen" 1509 | version = "0.2.82" 1510 | source = "registry+https://github.com/rust-lang/crates.io-index" 1511 | checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d" 1512 | dependencies = [ 1513 | "cfg-if", 1514 | "wasm-bindgen-macro", 1515 | ] 1516 | 1517 | [[package]] 1518 | name = "wasm-bindgen-backend" 1519 | version = "0.2.82" 1520 | source = "registry+https://github.com/rust-lang/crates.io-index" 1521 | checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f" 1522 | dependencies = [ 1523 | "bumpalo", 1524 | "log", 1525 | "once_cell", 1526 | "proc-macro2", 1527 | "quote", 1528 | "syn", 1529 | "wasm-bindgen-shared", 1530 | ] 1531 | 1532 | [[package]] 1533 | name = "wasm-bindgen-macro" 1534 | version = "0.2.82" 1535 | source = "registry+https://github.com/rust-lang/crates.io-index" 1536 | checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602" 1537 | dependencies = [ 1538 | "quote", 1539 | "wasm-bindgen-macro-support", 1540 | ] 1541 | 1542 | [[package]] 1543 | name = "wasm-bindgen-macro-support" 1544 | version = "0.2.82" 1545 | source = "registry+https://github.com/rust-lang/crates.io-index" 1546 | checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da" 1547 | dependencies = [ 1548 | "proc-macro2", 1549 | "quote", 1550 | "syn", 1551 | "wasm-bindgen-backend", 1552 | "wasm-bindgen-shared", 1553 | ] 1554 | 1555 | [[package]] 1556 | name = "wasm-bindgen-shared" 1557 | version = "0.2.82" 1558 | source = "registry+https://github.com/rust-lang/crates.io-index" 1559 | checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a" 1560 | 1561 | [[package]] 1562 | name = "web-sys" 1563 | version = "0.3.59" 1564 | source = "registry+https://github.com/rust-lang/crates.io-index" 1565 | checksum = "ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1" 1566 | dependencies = [ 1567 | "js-sys", 1568 | "wasm-bindgen", 1569 | ] 1570 | 1571 | [[package]] 1572 | name = "windows-sys" 1573 | version = "0.42.0" 1574 | source = "registry+https://github.com/rust-lang/crates.io-index" 1575 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 1576 | dependencies = [ 1577 | "windows_aarch64_gnullvm", 1578 | "windows_aarch64_msvc", 1579 | "windows_i686_gnu", 1580 | "windows_i686_msvc", 1581 | "windows_x86_64_gnu", 1582 | "windows_x86_64_gnullvm", 1583 | "windows_x86_64_msvc", 1584 | ] 1585 | 1586 | [[package]] 1587 | name = "windows_aarch64_gnullvm" 1588 | version = "0.42.0" 1589 | source = "registry+https://github.com/rust-lang/crates.io-index" 1590 | checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" 1591 | 1592 | [[package]] 1593 | name = "windows_aarch64_msvc" 1594 | version = "0.42.0" 1595 | source = "registry+https://github.com/rust-lang/crates.io-index" 1596 | checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" 1597 | 1598 | [[package]] 1599 | name = "windows_i686_gnu" 1600 | version = "0.42.0" 1601 | source = "registry+https://github.com/rust-lang/crates.io-index" 1602 | checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" 1603 | 1604 | [[package]] 1605 | name = "windows_i686_msvc" 1606 | version = "0.42.0" 1607 | source = "registry+https://github.com/rust-lang/crates.io-index" 1608 | checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" 1609 | 1610 | [[package]] 1611 | name = "windows_x86_64_gnu" 1612 | version = "0.42.0" 1613 | source = "registry+https://github.com/rust-lang/crates.io-index" 1614 | checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" 1615 | 1616 | [[package]] 1617 | name = "windows_x86_64_gnullvm" 1618 | version = "0.42.0" 1619 | source = "registry+https://github.com/rust-lang/crates.io-index" 1620 | checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" 1621 | 1622 | [[package]] 1623 | name = "windows_x86_64_msvc" 1624 | version = "0.42.0" 1625 | source = "registry+https://github.com/rust-lang/crates.io-index" 1626 | checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" 1627 | 1628 | [[package]] 1629 | name = "yansi" 1630 | version = "0.5.1" 1631 | source = "registry+https://github.com/rust-lang/crates.io-index" 1632 | checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" 1633 | 1634 | [[package]] 1635 | name = "zeroize" 1636 | version = "1.3.0" 1637 | source = "registry+https://github.com/rust-lang/crates.io-index" 1638 | checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" 1639 | dependencies = [ 1640 | "zeroize_derive", 1641 | ] 1642 | 1643 | [[package]] 1644 | name = "zeroize_derive" 1645 | version = "1.3.3" 1646 | source = "registry+https://github.com/rust-lang/crates.io-index" 1647 | checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" 1648 | dependencies = [ 1649 | "proc-macro2", 1650 | "quote", 1651 | "syn", 1652 | "synstructure", 1653 | ] 1654 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "programs/*" 4 | ] 5 | 6 | # # Might lengthen the build process. Use sccache to offset 7 | # [profile.release] 8 | # lto = "fat" 9 | # codegen-units = 1 10 | 11 | # [profile.release.build-override] 12 | # opt-level = 3 13 | # incremental = false 14 | # codegen-units = 1 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # anchor-comp 2 | 3 | Anchor wrapper for non anchor program. In v3, contains: 4 | 5 | - SplGovernanceV3 Solana program. 6 | 7 | Follows structure of and 8 | 9 | ## Usage 10 | 11 | ```toml 12 | [dependencies] 13 | anchor-comp = { version = "0.1.0", git = "https://github.com/UXDProtocol/anchor-comp", features = ["no-entrypoint", "development"] } 14 | # anchor-comp = { version = "0.1.0", git = "https://github.com/UXDProtocol/anchor-comp", features = ["no-entrypoint", "production"] } 15 | ``` 16 | 17 | ## Example CPI from Rust Solana program 18 | 19 | ```rust 20 | use anchor_comp::mango_markets_v3; 21 | use anchor_comp::mango_markets_v3::MangoMarketV3; 22 | 23 | #[derive(Accounts)] 24 | pub struct MyInstruction<'info> { 25 | 26 | // ... 27 | 28 | pub mango_program: Program<'info, MangoMarketV3>, 29 | } 30 | 31 | pub fn my_instruction( 32 | ctx: Context, 33 | ) -> Result<()> { 34 | 35 | // ... 36 | 37 | // - [MangoMarkets CPI - Place perp order] 38 | mango_markets_v3::place_perp_order2( 39 | ctx.accounts 40 | .into_open_mango_short_perp_context() 41 | .with_signer(depository_pda_signer), 42 | taker_side, 43 | limit_price_lot.to_num(), 44 | max_base_quantity.to_num(), 45 | i64::MAX, 46 | 0, 47 | OrderType::ImmediateOrCancel, 48 | false, 49 | None, 50 | 10, 51 | )?; 52 | 53 | // ... 54 | } 55 | 56 | 57 | impl<'info> MyInstruction<'info> { 58 | 59 | // ... 60 | 61 | pub fn into_open_mango_short_perp_context( 62 | &self, 63 | ) -> CpiContext<'_, '_, '_, 'info, mango_markets_v3::PlacePerpOrder2<'info>> { 64 | let cpi_accounts = mango_markets_v3::PlacePerpOrder2 { 65 | mango_group: self.mango_group.to_account_info(), 66 | mango_account: self.depository_mango_account.to_account_info(), 67 | owner: self.depository.to_account_info(), 68 | mango_cache: self.mango_cache.to_account_info(), 69 | perp_market: self.mango_perp_market.to_account_info(), 70 | bids: self.mango_bids.to_account_info(), 71 | asks: self.mango_asks.to_account_info(), 72 | event_queue: self.mango_event_queue.to_account_info(), 73 | }; 74 | let cpi_program = self.mango_program.to_account_info(); 75 | CpiContext::new(cpi_program, cpi_accounts) 76 | } 77 | 78 | // ... 79 | } 80 | 81 | ``` 82 | -------------------------------------------------------------------------------- /migrations/deploy.ts: -------------------------------------------------------------------------------- 1 | // Migrations are an early feature. Currently, they're nothing more than this 2 | // single deploy script that's invoked from the CLI, injecting a provider 3 | // configured from the workspace's Anchor.toml. 4 | 5 | const anchor = require("@project-serum/anchor"); 6 | 7 | module.exports = async function (provider) { 8 | // Configure client to use the provider. 9 | anchor.setProvider(provider); 10 | 11 | // Add your deploy script here. 12 | }; 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@project-serum/anchor": "^0.22.0" 4 | }, 5 | "devDependencies": { 6 | "chai": "^4.3.4", 7 | "mocha": "^9.0.3", 8 | "ts-mocha": "^8.0.0", 9 | "@types/mocha": "^9.0.0", 10 | "typescript": "^4.3.5" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /programs/anchor-comp/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "anchor-comp" 3 | version = "0.3.1" 4 | description = "Wrapper on SplGovernanceV3 (non anchor)" 5 | edition = "2021" 6 | authors = ["alexcamill@gmail.com UXDProtocol::Acammm"] 7 | license = "Apache-2.0" 8 | 9 | [lib] 10 | crate-type = ["cdylib", "lib"] 11 | name = "anchor_comp" 12 | 13 | [features] 14 | no-entrypoint = [] 15 | no-idl = [] 16 | no-log-ix-name = [] 17 | cpi = ["no-entrypoint"] 18 | default = ["development"] # `anchor build -- --no-default-features --features production` to override 19 | production = [] 20 | development = [] 21 | 22 | [dependencies] 23 | # follows spl-governance 24 | solana-program = "1.14.6" 25 | 26 | # latest version of anchor to match solana package 27 | anchor-lang = { git = "https://github.com/coral-xyz/anchor" } 28 | 29 | spl-governance = { tag = "governance-v3.1.0", git = "https://github.com/solana-labs/solana-program-library", features = ["no-entrypoint"] } 30 | -------------------------------------------------------------------------------- /programs/anchor-comp/Xargo.toml: -------------------------------------------------------------------------------- 1 | [target.bpfel-unknown-unknown.dependencies.std] 2 | features = [] 3 | -------------------------------------------------------------------------------- /programs/anchor-comp/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod spl_governance_v3; 2 | -------------------------------------------------------------------------------- /programs/anchor-comp/src/spl_governance_v3.rs: -------------------------------------------------------------------------------- 1 | use anchor_lang::prelude::*; 2 | use spl_governance::state::vote_record::Vote; 3 | 4 | mod spl_governance_program_id { 5 | #[cfg(feature = "development")] 6 | solana_program::declare_id!("GovER5Lthms3bLBqWub97yVrMmEogzX7xNjdXpPPCVZw"); 7 | #[cfg(feature = "production")] 8 | solana_program::declare_id!("GovER5Lthms3bLBqWub97yVrMmEogzX7xNjdXpPPCVZw"); 9 | } 10 | 11 | #[derive(Clone)] 12 | pub struct SplGovernanceV3; 13 | 14 | impl anchor_lang::Id for SplGovernanceV3 { 15 | fn id() -> Pubkey { 16 | spl_governance_program_id::ID 17 | } 18 | } 19 | 20 | // Utility function 21 | fn get_pubkey_from_opt_account_info(opt_account_info: Option<&AccountInfo>) -> Option { 22 | return match opt_account_info { 23 | Some(account_info) => Some(*account_info.key), 24 | None => None, 25 | }; 26 | } 27 | 28 | pub fn set_governance_delegate<'a, 'b, 'c, 'info>( 29 | ctx: CpiContext<'a, 'b, 'c, 'info, SetGovernanceDelegate<'info>>, 30 | ) -> Result<()> { 31 | check_program_account(ctx.program.key)?; 32 | 33 | let mut remaining_accounts_iter = ctx.remaining_accounts.iter(); 34 | 35 | let new_governance_delegate = get_pubkey_from_opt_account_info(remaining_accounts_iter.next()); 36 | 37 | let ix = spl_governance::instruction::set_governance_delegate( 38 | &spl_governance_program_id::ID, 39 | ctx.accounts.governance_authority.key, 40 | ctx.accounts.realm.key, 41 | ctx.accounts.governing_token_mint.key, 42 | ctx.accounts.governing_token_owner.key, 43 | &new_governance_delegate, 44 | ); 45 | 46 | solana_program::program::invoke_signed( 47 | &ix, 48 | &ToAccountInfos::to_account_infos(&ctx), 49 | ctx.signer_seeds, 50 | ) 51 | .map_err(Into::into) 52 | } 53 | 54 | pub fn deposit_governing_tokens<'a, 'b, 'c, 'info>( 55 | ctx: CpiContext<'a, 'b, 'c, 'info, DepositGoverningTokens<'info>>, 56 | amount: u64, 57 | ) -> Result<()> { 58 | check_program_account(ctx.program.key)?; 59 | 60 | let ix = spl_governance::instruction::deposit_governing_tokens( 61 | &spl_governance_program_id::ID, 62 | ctx.accounts.realm.key, 63 | ctx.accounts.governing_token_source.key, 64 | ctx.accounts.governing_token_owner.key, 65 | ctx.accounts.governing_token_transfer_authority.key, 66 | ctx.accounts.payer.key, 67 | amount, 68 | ctx.accounts.governing_token_mint.key, 69 | ); 70 | 71 | solana_program::program::invoke_signed( 72 | &ix, 73 | &ToAccountInfos::to_account_infos(&ctx), 74 | ctx.signer_seeds, 75 | ) 76 | .map_err(Into::into) 77 | } 78 | 79 | pub fn withdraw_governing_tokens<'a, 'b, 'c, 'info>( 80 | ctx: CpiContext<'a, 'b, 'c, 'info, WithdrawGoverningTokens<'info>>, 81 | ) -> Result<()> { 82 | check_program_account(ctx.program.key)?; 83 | 84 | let ix = spl_governance::instruction::withdraw_governing_tokens( 85 | &spl_governance_program_id::ID, 86 | ctx.accounts.realm.key, 87 | ctx.accounts.governing_token_destination.key, 88 | ctx.accounts.governing_token_owner.key, 89 | ctx.accounts.governing_token_mint.key, 90 | ); 91 | 92 | solana_program::program::invoke_signed( 93 | &ix, 94 | &ToAccountInfos::to_account_infos(&ctx), 95 | ctx.signer_seeds, 96 | ) 97 | .map_err(Into::into) 98 | } 99 | 100 | pub fn cast_vote<'a, 'b, 'c, 'info>( 101 | ctx: CpiContext<'a, 'b, 'c, 'info, CastVote<'info>>, 102 | vote: Vote, 103 | ) -> Result<()> { 104 | check_program_account(ctx.program.key)?; 105 | 106 | let mut remaining_accounts_iter = ctx.remaining_accounts.iter(); 107 | 108 | let voter_weight_record = get_pubkey_from_opt_account_info(remaining_accounts_iter.next()); 109 | let max_voter_weight_record = get_pubkey_from_opt_account_info(remaining_accounts_iter.next()); 110 | 111 | let ix = spl_governance::instruction::cast_vote( 112 | &spl_governance_program_id::ID, 113 | ctx.accounts.realm.key, 114 | ctx.accounts.governance.key, 115 | ctx.accounts.proposal.key, 116 | ctx.accounts.proposal_owner_record.key, 117 | ctx.accounts.voter_token_owner_record.key, 118 | ctx.accounts.governance_authority.key, 119 | ctx.accounts.governing_token_mint.key, 120 | ctx.accounts.payer.key, 121 | voter_weight_record, 122 | max_voter_weight_record, 123 | vote, 124 | ); 125 | 126 | solana_program::program::invoke_signed( 127 | &ix, 128 | &ToAccountInfos::to_account_infos(&ctx), 129 | ctx.signer_seeds, 130 | ) 131 | .map_err(Into::into) 132 | } 133 | 134 | pub fn relinquish_vote<'a, 'b, 'c, 'info>( 135 | ctx: CpiContext<'a, 'b, 'c, 'info, RelinquishVote<'info>>, 136 | ) -> Result<()> { 137 | check_program_account(ctx.program.key)?; 138 | 139 | let mut remaining_accounts_iter = ctx.remaining_accounts.iter(); 140 | 141 | let governance_authority = get_pubkey_from_opt_account_info(remaining_accounts_iter.next()); 142 | let beneficiary = get_pubkey_from_opt_account_info(remaining_accounts_iter.next()); 143 | 144 | let ix = spl_governance::instruction::relinquish_vote( 145 | &spl_governance_program_id::ID, 146 | ctx.accounts.realm.key, 147 | ctx.accounts.governance.key, 148 | ctx.accounts.proposal.key, 149 | ctx.accounts.voter_token_owner_record.key, 150 | ctx.accounts.governing_token_mint.key, 151 | governance_authority, 152 | beneficiary, 153 | ); 154 | 155 | solana_program::program::invoke_signed( 156 | &ix, 157 | &ToAccountInfos::to_account_infos(&ctx), 158 | ctx.signer_seeds, 159 | ) 160 | .map_err(Into::into) 161 | } 162 | 163 | #[derive(Accounts)] 164 | pub struct SetGovernanceDelegate<'info> { 165 | /// CHECK: Spl Governance CPI 166 | pub governance_authority: AccountInfo<'info>, 167 | /// CHECK: Spl Governance CPI 168 | pub realm: AccountInfo<'info>, 169 | /// CHECK: Spl Governance CPI 170 | pub governing_token_mint: AccountInfo<'info>, 171 | /// CHECK: Spl Governance CPI 172 | pub governing_token_owner: AccountInfo<'info>, 173 | 174 | /// CHECK: Spl Governance CPI -- required only to be in the cpi context 175 | pub governing_token_owner_record: AccountInfo<'info>, 176 | } 177 | 178 | #[derive(Accounts)] 179 | pub struct DepositGoverningTokens<'info> { 180 | /// CHECK: Spl Governance CPI 181 | pub realm: AccountInfo<'info>, 182 | /// CHECK: Spl Governance CPI 183 | pub governing_token_mint: AccountInfo<'info>, 184 | /// CHECK: Spl Governance CPI 185 | pub governing_token_source: AccountInfo<'info>, 186 | /// CHECK: Spl Governance CPI 187 | pub governing_token_owner: AccountInfo<'info>, 188 | /// CHECK: Spl Governance CPI 189 | pub governing_token_transfer_authority: AccountInfo<'info>, 190 | /// CHECK: Spl Governance CPI 191 | pub payer: AccountInfo<'info>, 192 | 193 | /// CHECK: Spl Governance CPI -- required only to be in the cpi context 194 | pub realm_config: AccountInfo<'info>, 195 | /// CHECK: Spl Governance CPI -- required only to be in the cpi context 196 | pub governing_token_holding: AccountInfo<'info>, 197 | /// CHECK: Spl Governance CPI -- required only to be in the cpi context 198 | pub governing_token_owner_record: AccountInfo<'info>, 199 | } 200 | 201 | #[derive(Accounts)] 202 | pub struct WithdrawGoverningTokens<'info> { 203 | /// CHECK: Spl Governance CPI 204 | pub realm: AccountInfo<'info>, 205 | /// CHECK: Spl Governance CPI 206 | pub governing_token_destination: AccountInfo<'info>, 207 | /// CHECK: Spl Governance CPI 208 | pub governing_token_owner: AccountInfo<'info>, 209 | /// CHECK: Spl Governance CPI 210 | pub governing_token_mint: AccountInfo<'info>, 211 | 212 | /// CHECK: Spl Governance CPI -- required only to be in the cpi context 213 | pub realm_config: AccountInfo<'info>, 214 | /// CHECK: Spl Governance CPI -- required only to be in the cpi context 215 | pub governing_token_holding: AccountInfo<'info>, 216 | /// CHECK: Spl Governance CPI -- required only to be in the cpi context 217 | pub governing_token_owner_record: AccountInfo<'info>, 218 | } 219 | 220 | #[derive(Accounts)] 221 | pub struct CastVote<'info> { 222 | /// CHECK: Spl Governance CPI 223 | pub governance: AccountInfo<'info>, 224 | /// CHECK: Spl Governance CPI 225 | pub realm: AccountInfo<'info>, 226 | /// CHECK: Spl Governance CPI 227 | pub governance_authority: AccountInfo<'info>, 228 | /// CHECK: Spl Governance CPI 229 | pub proposal: AccountInfo<'info>, 230 | /// CHECK: Spl Governance CPI 231 | pub proposal_owner_record: AccountInfo<'info>, 232 | /// CHECK: Spl Governance CPI 233 | pub voter_token_owner_record: AccountInfo<'info>, 234 | /// CHECK: Spl Governance CPI 235 | pub governing_authority: AccountInfo<'info>, 236 | /// CHECK: Spl Governance CPI 237 | pub governing_token_mint: AccountInfo<'info>, 238 | /// CHECK: Spl Governance CPI 239 | pub payer: AccountInfo<'info>, 240 | } 241 | 242 | #[derive(Accounts)] 243 | pub struct RelinquishVote<'info> { 244 | /// CHECK: Spl Governance CPI 245 | pub governance: AccountInfo<'info>, 246 | /// CHECK: Spl Governance CPI 247 | pub realm: AccountInfo<'info>, 248 | /// CHECK: Spl Governance CPI 249 | pub proposal: AccountInfo<'info>, 250 | /// CHECK: Spl Governance CPI 251 | pub voter_token_owner_record: AccountInfo<'info>, 252 | /// CHECK: Spl Governance CPI 253 | pub governing_token_mint: AccountInfo<'info>, 254 | } 255 | 256 | /// Checks that the supplied program ID is the correct one 257 | pub fn check_program_account(spl_governance_program_id: &Pubkey) -> Result<()> { 258 | if !spl_governance_program_id.eq(&spl_governance_program_id::ID) { 259 | return Err(error!(ErrorCode::InvalidProgramId)); 260 | } 261 | 262 | Ok(()) 263 | } 264 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "types": ["mocha", "chai"], 4 | "typeRoots": ["./node_modules/@types"], 5 | "lib": ["es2015"], 6 | "module": "commonjs", 7 | "target": "es6", 8 | "esModuleInterop": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5": 6 | version "7.17.2" 7 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" 8 | integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== 9 | dependencies: 10 | regenerator-runtime "^0.13.4" 11 | 12 | "@ethersproject/bytes@^5.5.0": 13 | version "5.5.0" 14 | resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c" 15 | integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog== 16 | dependencies: 17 | "@ethersproject/logger" "^5.5.0" 18 | 19 | "@ethersproject/logger@^5.5.0": 20 | version "5.5.0" 21 | resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" 22 | integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== 23 | 24 | "@ethersproject/sha2@^5.5.0": 25 | version "5.5.0" 26 | resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.5.0.tgz#a40a054c61f98fd9eee99af2c3cc6ff57ec24db7" 27 | integrity sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA== 28 | dependencies: 29 | "@ethersproject/bytes" "^5.5.0" 30 | "@ethersproject/logger" "^5.5.0" 31 | hash.js "1.1.7" 32 | 33 | "@project-serum/anchor@^0.22.0": 34 | version "0.22.0" 35 | resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.22.0.tgz#79d182851346fb46d471577c63eabdf6f199c03e" 36 | integrity sha512-EJOE790pAQjm07loh7/JYzfcgfYv3SChBb2b9lhVdjjiimSEQrf3ESy+CGMAqcFAsyr699Ewj5k7RizY1y31cg== 37 | dependencies: 38 | "@project-serum/borsh" "^0.2.5" 39 | "@solana/web3.js" "^1.17.0" 40 | base64-js "^1.5.1" 41 | bn.js "^5.1.2" 42 | bs58 "^4.0.1" 43 | buffer-layout "^1.2.2" 44 | camelcase "^5.3.1" 45 | cross-fetch "^3.1.5" 46 | crypto-hash "^1.3.0" 47 | eventemitter3 "^4.0.7" 48 | find "^0.3.0" 49 | js-sha256 "^0.9.0" 50 | pako "^2.0.3" 51 | snake-case "^3.0.4" 52 | toml "^3.0.0" 53 | 54 | "@project-serum/borsh@^0.2.5": 55 | version "0.2.5" 56 | resolved "https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663" 57 | integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q== 58 | dependencies: 59 | bn.js "^5.1.2" 60 | buffer-layout "^1.2.0" 61 | 62 | "@solana/buffer-layout@^3.0.0": 63 | version "3.0.0" 64 | resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-3.0.0.tgz#b9353caeb9a1589cb77a1b145bcb1a9a93114326" 65 | integrity sha512-MVdgAKKL39tEs0l8je0hKaXLQFb7Rdfb0Xg2LjFZd8Lfdazkg6xiS98uAZrEKvaoF3i4M95ei9RydkGIDMeo3w== 66 | dependencies: 67 | buffer "~6.0.3" 68 | 69 | "@solana/web3.js@^1.17.0": 70 | version "1.35.1" 71 | resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.35.1.tgz#777b039a3b51e63c347712a57c7db87c9d1db832" 72 | integrity sha512-3bDawFFI0KcvgI8Ae4N4hdQ8+Bg9gu6q+IkhPrYxOF6RYnB3U+9A4u+DhHZWLvTvgoTyesi/m5HzlleKtFEqRQ== 73 | dependencies: 74 | "@babel/runtime" "^7.12.5" 75 | "@ethersproject/sha2" "^5.5.0" 76 | "@solana/buffer-layout" "^3.0.0" 77 | bn.js "^5.0.0" 78 | borsh "^0.4.0" 79 | bs58 "^4.0.1" 80 | buffer "6.0.1" 81 | cross-fetch "^3.1.4" 82 | jayson "^3.4.4" 83 | js-sha3 "^0.8.0" 84 | rpc-websockets "^7.4.2" 85 | secp256k1 "^4.0.2" 86 | superstruct "^0.14.2" 87 | tweetnacl "^1.0.0" 88 | 89 | "@types/bn.js@^4.11.5": 90 | version "4.11.6" 91 | resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" 92 | integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== 93 | dependencies: 94 | "@types/node" "*" 95 | 96 | "@types/connect@^3.4.33": 97 | version "3.4.35" 98 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" 99 | integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== 100 | dependencies: 101 | "@types/node" "*" 102 | 103 | "@types/express-serve-static-core@^4.17.9": 104 | version "4.17.28" 105 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" 106 | integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== 107 | dependencies: 108 | "@types/node" "*" 109 | "@types/qs" "*" 110 | "@types/range-parser" "*" 111 | 112 | "@types/json5@^0.0.29": 113 | version "0.0.29" 114 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 115 | integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= 116 | 117 | "@types/lodash@^4.14.159": 118 | version "4.14.178" 119 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.178.tgz#341f6d2247db528d4a13ddbb374bcdc80406f4f8" 120 | integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw== 121 | 122 | "@types/mocha@^9.0.0": 123 | version "9.1.0" 124 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.0.tgz#baf17ab2cca3fcce2d322ebc30454bff487efad5" 125 | integrity sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg== 126 | 127 | "@types/node@*": 128 | version "17.0.19" 129 | resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.19.tgz#726171367f404bfbe8512ba608a09ebad810c7e6" 130 | integrity sha512-PfeQhvcMR4cPFVuYfBN4ifG7p9c+Dlh3yUZR6k+5yQK7wX3gDgVxBly4/WkBRs9x4dmcy1TVl08SY67wwtEvmA== 131 | 132 | "@types/node@^12.12.54": 133 | version "12.20.46" 134 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.46.tgz#7e49dee4c54fd19584e6a9e0da5f3dc2e9136bc7" 135 | integrity sha512-cPjLXj8d6anFPzFvOPxS3fvly3Shm5nTfl6g8X5smexixbuGUf7hfr21J5tX9JW+UPStp/5P5R8qrKL5IyVJ+A== 136 | 137 | "@types/qs@*": 138 | version "6.9.7" 139 | resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" 140 | integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== 141 | 142 | "@types/range-parser@*": 143 | version "1.2.4" 144 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" 145 | integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== 146 | 147 | "@types/ws@^7.4.4": 148 | version "7.4.7" 149 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" 150 | integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== 151 | dependencies: 152 | "@types/node" "*" 153 | 154 | "@ungap/promise-all-settled@1.1.2": 155 | version "1.1.2" 156 | resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" 157 | integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== 158 | 159 | JSONStream@^1.3.5: 160 | version "1.3.5" 161 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" 162 | integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== 163 | dependencies: 164 | jsonparse "^1.2.0" 165 | through ">=2.2.7 <3" 166 | 167 | ansi-colors@4.1.1: 168 | version "4.1.1" 169 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 170 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 171 | 172 | ansi-regex@^5.0.1: 173 | version "5.0.1" 174 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 175 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 176 | 177 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 178 | version "4.3.0" 179 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 180 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 181 | dependencies: 182 | color-convert "^2.0.1" 183 | 184 | anymatch@~3.1.2: 185 | version "3.1.2" 186 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 187 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 188 | dependencies: 189 | normalize-path "^3.0.0" 190 | picomatch "^2.0.4" 191 | 192 | argparse@^2.0.1: 193 | version "2.0.1" 194 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 195 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 196 | 197 | arrify@^1.0.0: 198 | version "1.0.1" 199 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 200 | integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 201 | 202 | assertion-error@^1.1.0: 203 | version "1.1.0" 204 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" 205 | integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== 206 | 207 | balanced-match@^1.0.0: 208 | version "1.0.2" 209 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 210 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 211 | 212 | base-x@^3.0.2: 213 | version "3.0.9" 214 | resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" 215 | integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== 216 | dependencies: 217 | safe-buffer "^5.0.1" 218 | 219 | base64-js@^1.3.1, base64-js@^1.5.1: 220 | version "1.5.1" 221 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 222 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 223 | 224 | binary-extensions@^2.0.0: 225 | version "2.2.0" 226 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 227 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 228 | 229 | bn.js@^4.11.9: 230 | version "4.12.0" 231 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" 232 | integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== 233 | 234 | bn.js@^5.0.0, bn.js@^5.1.2: 235 | version "5.2.0" 236 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" 237 | integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== 238 | 239 | borsh@^0.4.0: 240 | version "0.4.0" 241 | resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.4.0.tgz#9dd6defe741627f1315eac2a73df61421f6ddb9f" 242 | integrity sha512-aX6qtLya3K0AkT66CmYWCCDr77qsE9arV05OmdFpmat9qu8Pg9J5tBUPDztAW5fNh/d/MyVG/OYziP52Ndzx1g== 243 | dependencies: 244 | "@types/bn.js" "^4.11.5" 245 | bn.js "^5.0.0" 246 | bs58 "^4.0.0" 247 | text-encoding-utf-8 "^1.0.2" 248 | 249 | brace-expansion@^1.1.7: 250 | version "1.1.11" 251 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 252 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 253 | dependencies: 254 | balanced-match "^1.0.0" 255 | concat-map "0.0.1" 256 | 257 | braces@~3.0.2: 258 | version "3.0.2" 259 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 260 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 261 | dependencies: 262 | fill-range "^7.0.1" 263 | 264 | brorand@^1.1.0: 265 | version "1.1.0" 266 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 267 | integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= 268 | 269 | browser-stdout@1.3.1: 270 | version "1.3.1" 271 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 272 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 273 | 274 | bs58@^4.0.0, bs58@^4.0.1: 275 | version "4.0.1" 276 | resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" 277 | integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= 278 | dependencies: 279 | base-x "^3.0.2" 280 | 281 | buffer-from@^1.0.0, buffer-from@^1.1.0: 282 | version "1.1.2" 283 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 284 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 285 | 286 | buffer-layout@^1.2.0, buffer-layout@^1.2.2: 287 | version "1.2.2" 288 | resolved "https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5" 289 | integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA== 290 | 291 | buffer@6.0.1: 292 | version "6.0.1" 293 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2" 294 | integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ== 295 | dependencies: 296 | base64-js "^1.3.1" 297 | ieee754 "^1.2.1" 298 | 299 | buffer@~6.0.3: 300 | version "6.0.3" 301 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" 302 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== 303 | dependencies: 304 | base64-js "^1.3.1" 305 | ieee754 "^1.2.1" 306 | 307 | bufferutil@^4.0.1: 308 | version "4.0.6" 309 | resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.6.tgz#ebd6c67c7922a0e902f053e5d8be5ec850e48433" 310 | integrity sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw== 311 | dependencies: 312 | node-gyp-build "^4.3.0" 313 | 314 | camelcase@^5.3.1: 315 | version "5.3.1" 316 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 317 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 318 | 319 | camelcase@^6.0.0: 320 | version "6.3.0" 321 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 322 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 323 | 324 | chai@^4.3.4: 325 | version "4.3.6" 326 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.6.tgz#ffe4ba2d9fa9d6680cc0b370adae709ec9011e9c" 327 | integrity sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q== 328 | dependencies: 329 | assertion-error "^1.1.0" 330 | check-error "^1.0.2" 331 | deep-eql "^3.0.1" 332 | get-func-name "^2.0.0" 333 | loupe "^2.3.1" 334 | pathval "^1.1.1" 335 | type-detect "^4.0.5" 336 | 337 | chalk@^4.1.0: 338 | version "4.1.2" 339 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 340 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 341 | dependencies: 342 | ansi-styles "^4.1.0" 343 | supports-color "^7.1.0" 344 | 345 | check-error@^1.0.2: 346 | version "1.0.2" 347 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" 348 | integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= 349 | 350 | chokidar@3.5.3: 351 | version "3.5.3" 352 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 353 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 354 | dependencies: 355 | anymatch "~3.1.2" 356 | braces "~3.0.2" 357 | glob-parent "~5.1.2" 358 | is-binary-path "~2.1.0" 359 | is-glob "~4.0.1" 360 | normalize-path "~3.0.0" 361 | readdirp "~3.6.0" 362 | optionalDependencies: 363 | fsevents "~2.3.2" 364 | 365 | circular-json@^0.5.9: 366 | version "0.5.9" 367 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.5.9.tgz#932763ae88f4f7dead7a0d09c8a51a4743a53b1d" 368 | integrity sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ== 369 | 370 | cliui@^7.0.2: 371 | version "7.0.4" 372 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 373 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 374 | dependencies: 375 | string-width "^4.2.0" 376 | strip-ansi "^6.0.0" 377 | wrap-ansi "^7.0.0" 378 | 379 | color-convert@^2.0.1: 380 | version "2.0.1" 381 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 382 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 383 | dependencies: 384 | color-name "~1.1.4" 385 | 386 | color-name@~1.1.4: 387 | version "1.1.4" 388 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 389 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 390 | 391 | commander@^2.20.3: 392 | version "2.20.3" 393 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 394 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 395 | 396 | concat-map@0.0.1: 397 | version "0.0.1" 398 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 399 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 400 | 401 | cross-fetch@^3.1.4, cross-fetch@^3.1.5: 402 | version "3.1.5" 403 | resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" 404 | integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== 405 | dependencies: 406 | node-fetch "2.6.7" 407 | 408 | crypto-hash@^1.3.0: 409 | version "1.3.0" 410 | resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247" 411 | integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg== 412 | 413 | debug@4.3.3: 414 | version "4.3.3" 415 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" 416 | integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== 417 | dependencies: 418 | ms "2.1.2" 419 | 420 | decamelize@^4.0.0: 421 | version "4.0.0" 422 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" 423 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== 424 | 425 | deep-eql@^3.0.1: 426 | version "3.0.1" 427 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" 428 | integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== 429 | dependencies: 430 | type-detect "^4.0.0" 431 | 432 | delay@^5.0.0: 433 | version "5.0.0" 434 | resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" 435 | integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== 436 | 437 | diff@5.0.0: 438 | version "5.0.0" 439 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" 440 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== 441 | 442 | diff@^3.1.0: 443 | version "3.5.0" 444 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 445 | integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== 446 | 447 | dot-case@^3.0.4: 448 | version "3.0.4" 449 | resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" 450 | integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== 451 | dependencies: 452 | no-case "^3.0.4" 453 | tslib "^2.0.3" 454 | 455 | elliptic@^6.5.4: 456 | version "6.5.4" 457 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" 458 | integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== 459 | dependencies: 460 | bn.js "^4.11.9" 461 | brorand "^1.1.0" 462 | hash.js "^1.0.0" 463 | hmac-drbg "^1.0.1" 464 | inherits "^2.0.4" 465 | minimalistic-assert "^1.0.1" 466 | minimalistic-crypto-utils "^1.0.1" 467 | 468 | emoji-regex@^8.0.0: 469 | version "8.0.0" 470 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 471 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 472 | 473 | es6-promise@^4.0.3: 474 | version "4.2.8" 475 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" 476 | integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== 477 | 478 | es6-promisify@^5.0.0: 479 | version "5.0.0" 480 | resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" 481 | integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= 482 | dependencies: 483 | es6-promise "^4.0.3" 484 | 485 | escalade@^3.1.1: 486 | version "3.1.1" 487 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 488 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 489 | 490 | escape-string-regexp@4.0.0: 491 | version "4.0.0" 492 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 493 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 494 | 495 | eventemitter3@^4.0.7: 496 | version "4.0.7" 497 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" 498 | integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== 499 | 500 | eyes@^0.1.8: 501 | version "0.1.8" 502 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" 503 | integrity sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A= 504 | 505 | fill-range@^7.0.1: 506 | version "7.0.1" 507 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 508 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 509 | dependencies: 510 | to-regex-range "^5.0.1" 511 | 512 | find-up@5.0.0: 513 | version "5.0.0" 514 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 515 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 516 | dependencies: 517 | locate-path "^6.0.0" 518 | path-exists "^4.0.0" 519 | 520 | find@^0.3.0: 521 | version "0.3.0" 522 | resolved "https://registry.yarnpkg.com/find/-/find-0.3.0.tgz#4082e8fc8d8320f1a382b5e4f521b9bc50775cb8" 523 | integrity sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw== 524 | dependencies: 525 | traverse-chain "~0.1.0" 526 | 527 | flat@^5.0.2: 528 | version "5.0.2" 529 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" 530 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 531 | 532 | fs.realpath@^1.0.0: 533 | version "1.0.0" 534 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 535 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 536 | 537 | fsevents@~2.3.2: 538 | version "2.3.2" 539 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 540 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 541 | 542 | get-caller-file@^2.0.5: 543 | version "2.0.5" 544 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 545 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 546 | 547 | get-func-name@^2.0.0: 548 | version "2.0.0" 549 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" 550 | integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= 551 | 552 | glob-parent@~5.1.2: 553 | version "5.1.2" 554 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 555 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 556 | dependencies: 557 | is-glob "^4.0.1" 558 | 559 | glob@7.2.0: 560 | version "7.2.0" 561 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 562 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 563 | dependencies: 564 | fs.realpath "^1.0.0" 565 | inflight "^1.0.4" 566 | inherits "2" 567 | minimatch "^3.0.4" 568 | once "^1.3.0" 569 | path-is-absolute "^1.0.0" 570 | 571 | growl@1.10.5: 572 | version "1.10.5" 573 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 574 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== 575 | 576 | has-flag@^4.0.0: 577 | version "4.0.0" 578 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 579 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 580 | 581 | hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: 582 | version "1.1.7" 583 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" 584 | integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== 585 | dependencies: 586 | inherits "^2.0.3" 587 | minimalistic-assert "^1.0.1" 588 | 589 | he@1.2.0: 590 | version "1.2.0" 591 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 592 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 593 | 594 | hmac-drbg@^1.0.1: 595 | version "1.0.1" 596 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 597 | integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= 598 | dependencies: 599 | hash.js "^1.0.3" 600 | minimalistic-assert "^1.0.0" 601 | minimalistic-crypto-utils "^1.0.1" 602 | 603 | ieee754@^1.2.1: 604 | version "1.2.1" 605 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 606 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 607 | 608 | inflight@^1.0.4: 609 | version "1.0.6" 610 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 611 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 612 | dependencies: 613 | once "^1.3.0" 614 | wrappy "1" 615 | 616 | inherits@2, inherits@^2.0.3, inherits@^2.0.4: 617 | version "2.0.4" 618 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 619 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 620 | 621 | is-binary-path@~2.1.0: 622 | version "2.1.0" 623 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 624 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 625 | dependencies: 626 | binary-extensions "^2.0.0" 627 | 628 | is-extglob@^2.1.1: 629 | version "2.1.1" 630 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 631 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 632 | 633 | is-fullwidth-code-point@^3.0.0: 634 | version "3.0.0" 635 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 636 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 637 | 638 | is-glob@^4.0.1, is-glob@~4.0.1: 639 | version "4.0.3" 640 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 641 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 642 | dependencies: 643 | is-extglob "^2.1.1" 644 | 645 | is-number@^7.0.0: 646 | version "7.0.0" 647 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 648 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 649 | 650 | is-plain-obj@^2.1.0: 651 | version "2.1.0" 652 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 653 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 654 | 655 | is-unicode-supported@^0.1.0: 656 | version "0.1.0" 657 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" 658 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== 659 | 660 | isexe@^2.0.0: 661 | version "2.0.0" 662 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 663 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 664 | 665 | isomorphic-ws@^4.0.1: 666 | version "4.0.1" 667 | resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" 668 | integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== 669 | 670 | jayson@^3.4.4: 671 | version "3.6.6" 672 | resolved "https://registry.yarnpkg.com/jayson/-/jayson-3.6.6.tgz#189984f624e398f831bd2be8e8c80eb3abf764a1" 673 | integrity sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ== 674 | dependencies: 675 | "@types/connect" "^3.4.33" 676 | "@types/express-serve-static-core" "^4.17.9" 677 | "@types/lodash" "^4.14.159" 678 | "@types/node" "^12.12.54" 679 | "@types/ws" "^7.4.4" 680 | JSONStream "^1.3.5" 681 | commander "^2.20.3" 682 | delay "^5.0.0" 683 | es6-promisify "^5.0.0" 684 | eyes "^0.1.8" 685 | isomorphic-ws "^4.0.1" 686 | json-stringify-safe "^5.0.1" 687 | lodash "^4.17.20" 688 | uuid "^8.3.2" 689 | ws "^7.4.5" 690 | 691 | js-sha256@^0.9.0: 692 | version "0.9.0" 693 | resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" 694 | integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== 695 | 696 | js-sha3@^0.8.0: 697 | version "0.8.0" 698 | resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" 699 | integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== 700 | 701 | js-yaml@4.1.0: 702 | version "4.1.0" 703 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 704 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 705 | dependencies: 706 | argparse "^2.0.1" 707 | 708 | json-stringify-safe@^5.0.1: 709 | version "5.0.1" 710 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 711 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 712 | 713 | json5@^1.0.1: 714 | version "1.0.1" 715 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 716 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 717 | dependencies: 718 | minimist "^1.2.0" 719 | 720 | jsonparse@^1.2.0: 721 | version "1.3.1" 722 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" 723 | integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= 724 | 725 | locate-path@^6.0.0: 726 | version "6.0.0" 727 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 728 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 729 | dependencies: 730 | p-locate "^5.0.0" 731 | 732 | lodash@^4.17.20: 733 | version "4.17.21" 734 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 735 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 736 | 737 | log-symbols@4.1.0: 738 | version "4.1.0" 739 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" 740 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== 741 | dependencies: 742 | chalk "^4.1.0" 743 | is-unicode-supported "^0.1.0" 744 | 745 | loupe@^2.3.1: 746 | version "2.3.4" 747 | resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.4.tgz#7e0b9bffc76f148f9be769cb1321d3dcf3cb25f3" 748 | integrity sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ== 749 | dependencies: 750 | get-func-name "^2.0.0" 751 | 752 | lower-case@^2.0.2: 753 | version "2.0.2" 754 | resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" 755 | integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== 756 | dependencies: 757 | tslib "^2.0.3" 758 | 759 | make-error@^1.1.1: 760 | version "1.3.6" 761 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 762 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 763 | 764 | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: 765 | version "1.0.1" 766 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 767 | integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== 768 | 769 | minimalistic-crypto-utils@^1.0.1: 770 | version "1.0.1" 771 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 772 | integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= 773 | 774 | minimatch@3.0.4: 775 | version "3.0.4" 776 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 777 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 778 | dependencies: 779 | brace-expansion "^1.1.7" 780 | 781 | minimatch@^3.0.4: 782 | version "3.1.2" 783 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 784 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 785 | dependencies: 786 | brace-expansion "^1.1.7" 787 | 788 | minimist@^1.2.0, minimist@^1.2.5: 789 | version "1.2.5" 790 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 791 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 792 | 793 | mkdirp@^0.5.1: 794 | version "0.5.5" 795 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" 796 | integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== 797 | dependencies: 798 | minimist "^1.2.5" 799 | 800 | mocha@^9.0.3: 801 | version "9.2.1" 802 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.2.1.tgz#a1abb675aa9a8490798503af57e8782a78f1338e" 803 | integrity sha512-T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ== 804 | dependencies: 805 | "@ungap/promise-all-settled" "1.1.2" 806 | ansi-colors "4.1.1" 807 | browser-stdout "1.3.1" 808 | chokidar "3.5.3" 809 | debug "4.3.3" 810 | diff "5.0.0" 811 | escape-string-regexp "4.0.0" 812 | find-up "5.0.0" 813 | glob "7.2.0" 814 | growl "1.10.5" 815 | he "1.2.0" 816 | js-yaml "4.1.0" 817 | log-symbols "4.1.0" 818 | minimatch "3.0.4" 819 | ms "2.1.3" 820 | nanoid "3.2.0" 821 | serialize-javascript "6.0.0" 822 | strip-json-comments "3.1.1" 823 | supports-color "8.1.1" 824 | which "2.0.2" 825 | workerpool "6.2.0" 826 | yargs "16.2.0" 827 | yargs-parser "20.2.4" 828 | yargs-unparser "2.0.0" 829 | 830 | ms@2.1.2: 831 | version "2.1.2" 832 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 833 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 834 | 835 | ms@2.1.3: 836 | version "2.1.3" 837 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 838 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 839 | 840 | nanoid@3.2.0: 841 | version "3.2.0" 842 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" 843 | integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== 844 | 845 | no-case@^3.0.4: 846 | version "3.0.4" 847 | resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" 848 | integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== 849 | dependencies: 850 | lower-case "^2.0.2" 851 | tslib "^2.0.3" 852 | 853 | node-addon-api@^2.0.0: 854 | version "2.0.2" 855 | resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" 856 | integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== 857 | 858 | node-fetch@2.6.7: 859 | version "2.6.7" 860 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" 861 | integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== 862 | dependencies: 863 | whatwg-url "^5.0.0" 864 | 865 | node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: 866 | version "4.3.0" 867 | resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" 868 | integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== 869 | 870 | normalize-path@^3.0.0, normalize-path@~3.0.0: 871 | version "3.0.0" 872 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 873 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 874 | 875 | once@^1.3.0: 876 | version "1.4.0" 877 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 878 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 879 | dependencies: 880 | wrappy "1" 881 | 882 | p-limit@^3.0.2: 883 | version "3.1.0" 884 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 885 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 886 | dependencies: 887 | yocto-queue "^0.1.0" 888 | 889 | p-locate@^5.0.0: 890 | version "5.0.0" 891 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 892 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 893 | dependencies: 894 | p-limit "^3.0.2" 895 | 896 | pako@^2.0.3: 897 | version "2.0.4" 898 | resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d" 899 | integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg== 900 | 901 | path-exists@^4.0.0: 902 | version "4.0.0" 903 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 904 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 905 | 906 | path-is-absolute@^1.0.0: 907 | version "1.0.1" 908 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 909 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 910 | 911 | pathval@^1.1.1: 912 | version "1.1.1" 913 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" 914 | integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== 915 | 916 | picomatch@^2.0.4, picomatch@^2.2.1: 917 | version "2.3.1" 918 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 919 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 920 | 921 | randombytes@^2.1.0: 922 | version "2.1.0" 923 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 924 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 925 | dependencies: 926 | safe-buffer "^5.1.0" 927 | 928 | readdirp@~3.6.0: 929 | version "3.6.0" 930 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 931 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 932 | dependencies: 933 | picomatch "^2.2.1" 934 | 935 | regenerator-runtime@^0.13.4: 936 | version "0.13.9" 937 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 938 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 939 | 940 | require-directory@^2.1.1: 941 | version "2.1.1" 942 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 943 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 944 | 945 | rpc-websockets@^7.4.2: 946 | version "7.4.17" 947 | resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.4.17.tgz#f38845dd96db0442bff9e15fba9df781beb44cc0" 948 | integrity sha512-eolVi/qlXS13viIUH9aqrde902wzSLAai0IjmOZSRefp5I3CSG/vCnD0c0fDSYCWuEyUoRL1BHQA8K1baEUyow== 949 | dependencies: 950 | "@babel/runtime" "^7.11.2" 951 | circular-json "^0.5.9" 952 | eventemitter3 "^4.0.7" 953 | uuid "^8.3.0" 954 | ws "^7.4.5" 955 | optionalDependencies: 956 | bufferutil "^4.0.1" 957 | utf-8-validate "^5.0.2" 958 | 959 | safe-buffer@^5.0.1, safe-buffer@^5.1.0: 960 | version "5.2.1" 961 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 962 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 963 | 964 | secp256k1@^4.0.2: 965 | version "4.0.3" 966 | resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" 967 | integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== 968 | dependencies: 969 | elliptic "^6.5.4" 970 | node-addon-api "^2.0.0" 971 | node-gyp-build "^4.2.0" 972 | 973 | serialize-javascript@6.0.0: 974 | version "6.0.0" 975 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" 976 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== 977 | dependencies: 978 | randombytes "^2.1.0" 979 | 980 | snake-case@^3.0.4: 981 | version "3.0.4" 982 | resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" 983 | integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== 984 | dependencies: 985 | dot-case "^3.0.4" 986 | tslib "^2.0.3" 987 | 988 | source-map-support@^0.5.6: 989 | version "0.5.21" 990 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 991 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 992 | dependencies: 993 | buffer-from "^1.0.0" 994 | source-map "^0.6.0" 995 | 996 | source-map@^0.6.0: 997 | version "0.6.1" 998 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 999 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1000 | 1001 | string-width@^4.1.0, string-width@^4.2.0: 1002 | version "4.2.3" 1003 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1004 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1005 | dependencies: 1006 | emoji-regex "^8.0.0" 1007 | is-fullwidth-code-point "^3.0.0" 1008 | strip-ansi "^6.0.1" 1009 | 1010 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1011 | version "6.0.1" 1012 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1013 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1014 | dependencies: 1015 | ansi-regex "^5.0.1" 1016 | 1017 | strip-bom@^3.0.0: 1018 | version "3.0.0" 1019 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1020 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 1021 | 1022 | strip-json-comments@3.1.1: 1023 | version "3.1.1" 1024 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1025 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1026 | 1027 | superstruct@^0.14.2: 1028 | version "0.14.2" 1029 | resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" 1030 | integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== 1031 | 1032 | supports-color@8.1.1: 1033 | version "8.1.1" 1034 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1035 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1036 | dependencies: 1037 | has-flag "^4.0.0" 1038 | 1039 | supports-color@^7.1.0: 1040 | version "7.2.0" 1041 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1042 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1043 | dependencies: 1044 | has-flag "^4.0.0" 1045 | 1046 | text-encoding-utf-8@^1.0.2: 1047 | version "1.0.2" 1048 | resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" 1049 | integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== 1050 | 1051 | "through@>=2.2.7 <3": 1052 | version "2.3.8" 1053 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1054 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1055 | 1056 | to-regex-range@^5.0.1: 1057 | version "5.0.1" 1058 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1059 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1060 | dependencies: 1061 | is-number "^7.0.0" 1062 | 1063 | toml@^3.0.0: 1064 | version "3.0.0" 1065 | resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" 1066 | integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== 1067 | 1068 | tr46@~0.0.3: 1069 | version "0.0.3" 1070 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 1071 | integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= 1072 | 1073 | traverse-chain@~0.1.0: 1074 | version "0.1.0" 1075 | resolved "https://registry.yarnpkg.com/traverse-chain/-/traverse-chain-0.1.0.tgz#61dbc2d53b69ff6091a12a168fd7d433107e40f1" 1076 | integrity sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE= 1077 | 1078 | ts-mocha@^8.0.0: 1079 | version "8.0.0" 1080 | resolved "https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-8.0.0.tgz#962d0fa12eeb6468aa1a6b594bb3bbc818da3ef0" 1081 | integrity sha512-Kou1yxTlubLnD5C3unlCVO7nh0HERTezjoVhVw/M5S1SqoUec0WgllQvPk3vzPMc6by8m6xD1uR1yRf8lnVUbA== 1082 | dependencies: 1083 | ts-node "7.0.1" 1084 | optionalDependencies: 1085 | tsconfig-paths "^3.5.0" 1086 | 1087 | ts-node@7.0.1: 1088 | version "7.0.1" 1089 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" 1090 | integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw== 1091 | dependencies: 1092 | arrify "^1.0.0" 1093 | buffer-from "^1.1.0" 1094 | diff "^3.1.0" 1095 | make-error "^1.1.1" 1096 | minimist "^1.2.0" 1097 | mkdirp "^0.5.1" 1098 | source-map-support "^0.5.6" 1099 | yn "^2.0.0" 1100 | 1101 | tsconfig-paths@^3.5.0: 1102 | version "3.12.0" 1103 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" 1104 | integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== 1105 | dependencies: 1106 | "@types/json5" "^0.0.29" 1107 | json5 "^1.0.1" 1108 | minimist "^1.2.0" 1109 | strip-bom "^3.0.0" 1110 | 1111 | tslib@^2.0.3: 1112 | version "2.3.1" 1113 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" 1114 | integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== 1115 | 1116 | tweetnacl@^1.0.0: 1117 | version "1.0.3" 1118 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" 1119 | integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== 1120 | 1121 | type-detect@^4.0.0, type-detect@^4.0.5: 1122 | version "4.0.8" 1123 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 1124 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 1125 | 1126 | typescript@^4.3.5: 1127 | version "4.5.5" 1128 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" 1129 | integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== 1130 | 1131 | utf-8-validate@^5.0.2: 1132 | version "5.0.8" 1133 | resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.8.tgz#4a735a61661dbb1c59a0868c397d2fe263f14e58" 1134 | integrity sha512-k4dW/Qja1BYDl2qD4tOMB9PFVha/UJtxTc1cXYOe3WwA/2m0Yn4qB7wLMpJyLJ/7DR0XnTut3HsCSzDT4ZvKgA== 1135 | dependencies: 1136 | node-gyp-build "^4.3.0" 1137 | 1138 | uuid@^8.3.0, uuid@^8.3.2: 1139 | version "8.3.2" 1140 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 1141 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 1142 | 1143 | webidl-conversions@^3.0.0: 1144 | version "3.0.1" 1145 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 1146 | integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= 1147 | 1148 | whatwg-url@^5.0.0: 1149 | version "5.0.0" 1150 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 1151 | integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= 1152 | dependencies: 1153 | tr46 "~0.0.3" 1154 | webidl-conversions "^3.0.0" 1155 | 1156 | which@2.0.2: 1157 | version "2.0.2" 1158 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1159 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1160 | dependencies: 1161 | isexe "^2.0.0" 1162 | 1163 | workerpool@6.2.0: 1164 | version "6.2.0" 1165 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" 1166 | integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== 1167 | 1168 | wrap-ansi@^7.0.0: 1169 | version "7.0.0" 1170 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 1171 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1172 | dependencies: 1173 | ansi-styles "^4.0.0" 1174 | string-width "^4.1.0" 1175 | strip-ansi "^6.0.0" 1176 | 1177 | wrappy@1: 1178 | version "1.0.2" 1179 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1180 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1181 | 1182 | ws@^7.4.5: 1183 | version "7.5.7" 1184 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" 1185 | integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== 1186 | 1187 | y18n@^5.0.5: 1188 | version "5.0.8" 1189 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 1190 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 1191 | 1192 | yargs-parser@20.2.4: 1193 | version "20.2.4" 1194 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" 1195 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== 1196 | 1197 | yargs-parser@^20.2.2: 1198 | version "20.2.9" 1199 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 1200 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 1201 | 1202 | yargs-unparser@2.0.0: 1203 | version "2.0.0" 1204 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" 1205 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== 1206 | dependencies: 1207 | camelcase "^6.0.0" 1208 | decamelize "^4.0.0" 1209 | flat "^5.0.2" 1210 | is-plain-obj "^2.1.0" 1211 | 1212 | yargs@16.2.0: 1213 | version "16.2.0" 1214 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 1215 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 1216 | dependencies: 1217 | cliui "^7.0.2" 1218 | escalade "^3.1.1" 1219 | get-caller-file "^2.0.5" 1220 | require-directory "^2.1.1" 1221 | string-width "^4.2.0" 1222 | y18n "^5.0.5" 1223 | yargs-parser "^20.2.2" 1224 | 1225 | yn@^2.0.0: 1226 | version "2.0.0" 1227 | resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" 1228 | integrity sha1-5a2ryKz0CPY4X8dklWhMiOavaJo= 1229 | 1230 | yocto-queue@^0.1.0: 1231 | version "0.1.0" 1232 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1233 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1234 | --------------------------------------------------------------------------------