@gardenfi/swap 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -44
- package/dist/index.cjs +1 -1
- package/dist/index.js +2 -2
- package/dist/index10.cjs +1 -1
- package/dist/index10.js +157 -25
- package/dist/index100.cjs +1 -0
- package/dist/index100.js +6 -0
- package/dist/index101.cjs +1 -0
- package/dist/index101.js +10 -0
- package/dist/index102.cjs +1 -0
- package/dist/index102.js +8 -0
- package/dist/index103.cjs +1 -0
- package/dist/index103.js +16 -0
- package/dist/index104.cjs +1 -0
- package/dist/index104.js +174 -0
- package/dist/index105.cjs +1 -0
- package/dist/index105.js +36 -0
- package/dist/index106.cjs +1 -0
- package/dist/index106.js +54 -0
- package/dist/index107.cjs +1 -0
- package/dist/index107.js +40 -0
- package/dist/index108.cjs +1 -0
- package/dist/index108.js +27 -0
- package/dist/index109.cjs +1 -0
- package/dist/index109.js +82 -0
- package/dist/index11.cjs +1 -1
- package/dist/index11.js +23 -33
- package/dist/index110.cjs +1 -0
- package/dist/index110.js +5 -0
- package/dist/index111.cjs +1 -0
- package/dist/index111.js +35 -0
- package/dist/index112.cjs +1 -0
- package/dist/index112.js +118 -0
- package/dist/index113.cjs +1 -0
- package/dist/index113.js +6 -0
- package/dist/index114.cjs +1 -0
- package/dist/index114.js +18 -0
- package/dist/index115.cjs +1 -0
- package/dist/index115.js +14 -0
- package/dist/index116.cjs +1 -0
- package/dist/index116.js +21 -0
- package/dist/index117.cjs +1 -0
- package/dist/index117.js +61 -0
- package/dist/index118.cjs +1 -0
- package/dist/index118.js +23 -0
- package/dist/index119.cjs +1 -0
- package/dist/index119.js +16 -0
- package/dist/index12.cjs +1 -1
- package/dist/index12.js +67 -63
- package/dist/index120.cjs +1 -0
- package/dist/index120.js +287 -0
- package/dist/index121.cjs +1 -0
- package/dist/index121.js +576 -0
- package/dist/index122.cjs +1 -0
- package/dist/index122.js +36 -0
- package/dist/index123.cjs +1 -0
- package/dist/index123.js +6 -0
- package/dist/index124.cjs +1 -0
- package/dist/index124.js +12 -0
- package/dist/index125.cjs +1 -0
- package/dist/index125.js +119 -0
- package/dist/index126.cjs +1 -0
- package/dist/index126.js +64 -0
- package/dist/index127.cjs +1 -0
- package/dist/index127.js +27 -0
- package/dist/index128.cjs +1 -0
- package/dist/index128.js +39 -0
- package/dist/index129.cjs +1 -0
- package/dist/index129.js +44 -0
- package/dist/index13.cjs +1 -1
- package/dist/index13.js +28 -29
- package/dist/index130.cjs +1 -0
- package/dist/index130.js +61 -0
- package/dist/index131.cjs +1 -0
- package/dist/index131.js +43 -0
- package/dist/index132.cjs +1 -0
- package/dist/index132.js +12 -0
- package/dist/index133.cjs +1 -0
- package/dist/index133.js +34 -0
- package/dist/index134.cjs +1 -0
- package/dist/index134.js +39 -0
- package/dist/index135.cjs +1 -0
- package/dist/index135.js +12 -0
- package/dist/index136.cjs +1 -0
- package/dist/index136.js +32 -0
- package/dist/index137.cjs +1 -0
- package/dist/index137.js +53 -0
- package/dist/index138.cjs +1 -0
- package/dist/index138.js +73 -0
- package/dist/index139.cjs +1 -0
- package/dist/index139.js +44 -0
- package/dist/index14.cjs +1 -1
- package/dist/index14.js +13 -186
- package/dist/index140.cjs +1 -0
- package/dist/index140.js +80 -0
- package/dist/index141.cjs +1 -0
- package/dist/index141.js +11 -0
- package/dist/index142.cjs +1 -0
- package/dist/index142.js +9 -0
- package/dist/index143.cjs +1 -0
- package/dist/index143.js +20 -0
- package/dist/index144.cjs +1 -0
- package/dist/index144.js +11 -0
- package/dist/index145.cjs +1 -0
- package/dist/index145.js +16 -0
- package/dist/index146.cjs +1 -0
- package/dist/index146.js +10 -0
- package/dist/index147.cjs +1 -0
- package/dist/index147.js +19 -0
- package/dist/index148.cjs +1 -0
- package/dist/index148.js +49 -0
- package/dist/index149.cjs +1 -0
- package/dist/index149.js +16 -0
- package/dist/index15.cjs +1 -1
- package/dist/index15.js +49 -46
- package/dist/index150.cjs +1 -0
- package/dist/index150.js +19 -0
- package/dist/index151.cjs +1 -0
- package/dist/index151.js +16 -0
- package/dist/index152.cjs +1 -0
- package/dist/index152.js +9 -0
- package/dist/index153.cjs +1 -0
- package/dist/index153.js +38 -0
- package/dist/index154.cjs +1 -0
- package/dist/index154.js +12 -0
- package/dist/index155.cjs +1 -0
- package/dist/index155.js +11 -0
- package/dist/index156.cjs +1 -0
- package/dist/index156.js +32 -0
- package/dist/index157.cjs +1 -0
- package/dist/index157.js +13 -0
- package/dist/index158.cjs +1 -0
- package/dist/index158.js +17 -0
- package/dist/index159.cjs +1 -0
- package/dist/index159.js +15 -0
- package/dist/index16.cjs +1 -1
- package/dist/index16.js +8 -311
- package/dist/index160.cjs +1 -0
- package/dist/index160.js +124 -0
- package/dist/index161.cjs +1 -0
- package/dist/index161.js +85 -0
- package/dist/index162.cjs +1 -0
- package/dist/index162.js +180 -0
- package/dist/index163.cjs +1 -0
- package/dist/index163.js +47 -0
- package/dist/index164.cjs +1 -0
- package/dist/index164.js +9 -0
- package/dist/index165.cjs +1 -0
- package/dist/index165.js +17 -0
- package/dist/index166.cjs +1 -0
- package/dist/index166.js +17 -0
- package/dist/index167.cjs +1 -0
- package/dist/index167.js +106 -0
- package/dist/index168.cjs +1 -0
- package/dist/index168.js +78 -0
- package/dist/index169.cjs +1 -0
- package/dist/index169.js +92 -0
- package/dist/index17.cjs +1 -1
- package/dist/index17.js +59 -27
- package/dist/index170.cjs +1 -0
- package/dist/index170.js +154 -0
- package/dist/index171.cjs +1 -0
- package/dist/index171.js +141 -0
- package/dist/index172.cjs +1 -0
- package/dist/index172.js +72 -0
- package/dist/index173.cjs +1 -0
- package/dist/index173.js +26 -0
- package/dist/index174.cjs +1 -0
- package/dist/index174.js +167 -0
- package/dist/index175.cjs +1 -0
- package/dist/index175.js +9 -0
- package/dist/index176.cjs +1 -0
- package/dist/index176.js +16 -0
- package/dist/index177.cjs +1 -0
- package/dist/index177.js +22 -0
- package/dist/index178.cjs +1 -0
- package/dist/index178.js +109 -0
- package/dist/index179.cjs +1 -0
- package/dist/index179.js +81 -0
- package/dist/index18.cjs +1 -1
- package/dist/index18.js +74 -14
- package/dist/index180.cjs +1 -0
- package/dist/index180.js +12 -0
- package/dist/index181.cjs +1 -0
- package/dist/index181.js +31 -0
- package/dist/index182.cjs +1 -0
- package/dist/index182.js +74 -0
- package/dist/index183.cjs +1 -0
- package/dist/index183.js +5 -0
- package/dist/index184.cjs +1 -0
- package/dist/index184.js +4 -0
- package/dist/index185.cjs +2 -0
- package/dist/index185.js +5 -0
- package/dist/index186.cjs +1 -0
- package/dist/index186.js +11 -0
- package/dist/index187.cjs +20 -0
- package/dist/index187.js +329 -0
- package/dist/index188.cjs +1 -0
- package/dist/index188.js +16 -0
- package/dist/index189.cjs +2 -0
- package/dist/index189.js +62 -0
- package/dist/index19.cjs +1 -1
- package/dist/index19.js +76 -224
- package/dist/index190.cjs +1 -0
- package/dist/index190.js +4 -0
- package/dist/index191.cjs +1 -0
- package/dist/index191.js +10 -0
- package/dist/index192.cjs +1 -0
- package/dist/index192.js +34 -0
- package/dist/index193.cjs +1 -0
- package/dist/index193.js +24 -0
- package/dist/index194.cjs +1 -0
- package/dist/index194.js +8 -0
- package/dist/index195.cjs +1 -0
- package/dist/index195.js +76 -0
- package/dist/index196.cjs +1 -0
- package/dist/index196.js +8 -0
- package/dist/index197.cjs +1 -0
- package/dist/index197.js +8 -0
- package/dist/index198.cjs +9 -0
- package/dist/index198.js +38 -0
- package/dist/index199.cjs +2 -0
- package/dist/index199.js +123 -0
- package/dist/index20.cjs +1 -1
- package/dist/index20.js +58 -13
- package/dist/index200.cjs +1 -0
- package/dist/index200.js +5 -0
- package/dist/index201.cjs +1 -0
- package/dist/index201.js +21 -0
- package/dist/index202.cjs +1 -0
- package/dist/index202.js +36 -0
- package/dist/index203.cjs +1 -0
- package/dist/index203.js +38 -0
- package/dist/index204.cjs +1 -0
- package/dist/index204.js +26 -0
- package/dist/index205.cjs +1 -0
- package/dist/index205.js +11 -0
- package/dist/index206.cjs +4 -0
- package/dist/index206.js +197 -0
- package/dist/index207.cjs +1 -0
- package/dist/index207.js +4 -0
- package/dist/index208.cjs +3 -0
- package/dist/index208.js +454 -0
- package/dist/index209.cjs +1 -0
- package/dist/index209.js +30 -0
- package/dist/index21.cjs +1 -1
- package/dist/index21.js +146 -85
- package/dist/index210.cjs +1 -0
- package/dist/index210.js +164 -0
- package/dist/index211.cjs +1 -0
- package/dist/index211.js +130 -0
- package/dist/index212.cjs +1 -0
- package/dist/index212.js +41 -0
- package/dist/index213.cjs +1 -0
- package/dist/index213.js +30 -0
- package/dist/index214.cjs +1 -0
- package/dist/index214.js +58 -0
- package/dist/index215.cjs +1 -0
- package/dist/index215.js +194 -0
- package/dist/index216.cjs +1 -0
- package/dist/index216.js +6 -0
- package/dist/index217.cjs +1 -0
- package/dist/index217.js +67 -0
- package/dist/index218.cjs +1 -0
- package/dist/index218.js +23 -0
- package/dist/index219.cjs +1 -0
- package/dist/index219.js +5 -0
- package/dist/index22.cjs +1 -1
- package/dist/index22.js +67 -137
- package/dist/index220.cjs +1 -0
- package/dist/index220.js +19 -0
- package/dist/index221.cjs +1 -0
- package/dist/index221.js +26 -0
- package/dist/index222.cjs +1 -0
- package/dist/index222.js +37 -0
- package/dist/index223.cjs +1 -0
- package/dist/index223.js +5 -0
- package/dist/index224.cjs +1 -0
- package/dist/index224.js +30 -0
- package/dist/index225.cjs +1 -0
- package/dist/index225.js +39 -0
- package/dist/index226.cjs +1 -0
- package/dist/index226.js +11 -0
- package/dist/index227.cjs +1 -0
- package/dist/index227.js +28 -0
- package/dist/index228.cjs +1 -0
- package/dist/index228.js +31 -0
- package/dist/index229.cjs +1 -0
- package/dist/index229.js +78 -0
- package/dist/index23.cjs +1 -1
- package/dist/index23.js +63 -20
- package/dist/index230.cjs +1 -0
- package/dist/index230.js +24 -0
- package/dist/index231.cjs +1 -0
- package/dist/index231.js +11 -0
- package/dist/index232.cjs +1 -0
- package/dist/index232.js +13 -0
- package/dist/index233.cjs +1 -0
- package/dist/index233.js +14 -0
- package/dist/index234.cjs +1 -0
- package/dist/index234.js +9 -0
- package/dist/index235.cjs +1 -0
- package/dist/index235.js +9 -0
- package/dist/index236.cjs +1 -0
- package/dist/index236.js +16 -0
- package/dist/index237.cjs +1 -0
- package/dist/index237.js +35 -0
- package/dist/index238.cjs +1 -0
- package/dist/index238.js +7 -0
- package/dist/index239.cjs +1 -0
- package/dist/index239.js +40 -0
- package/dist/index24.cjs +1 -1
- package/dist/index24.js +31 -17
- package/dist/index240.cjs +1 -0
- package/dist/index240.js +114 -0
- package/dist/index241.cjs +1 -0
- package/dist/index241.js +52 -0
- package/dist/index242.cjs +1 -0
- package/dist/index242.js +35 -0
- package/dist/index243.cjs +1 -0
- package/dist/index243.js +11 -0
- package/dist/index244.cjs +1 -0
- package/dist/index244.js +10 -0
- package/dist/index245.cjs +1 -0
- package/dist/index245.js +19 -0
- package/dist/index246.cjs +1 -0
- package/dist/index246.js +25 -0
- package/dist/index247.cjs +1 -0
- package/dist/index247.js +107 -0
- package/dist/index248.cjs +1 -0
- package/dist/index248.js +5 -0
- package/dist/index249.cjs +1 -0
- package/dist/index249.js +8 -0
- package/dist/index25.cjs +1 -1
- package/dist/index25.js +23 -104
- package/dist/index250.cjs +1 -0
- package/dist/index250.js +34 -0
- package/dist/index251.cjs +1 -0
- package/dist/index251.js +23 -0
- package/dist/index252.cjs +1 -0
- package/dist/index252.js +6 -0
- package/dist/index253.cjs +1 -0
- package/dist/index253.js +20 -0
- package/dist/index254.cjs +1 -0
- package/dist/index254.js +8 -0
- package/dist/index255.cjs +1 -0
- package/dist/index255.js +11 -0
- package/dist/index256.cjs +1 -0
- package/dist/index256.js +106 -0
- package/dist/index257.cjs +1 -0
- package/dist/index257.js +67 -0
- package/dist/index258.cjs +1 -0
- package/dist/index258.js +9 -0
- package/dist/index259.cjs +1 -0
- package/dist/index259.js +30 -0
- package/dist/index26.cjs +1 -1
- package/dist/index26.js +173 -75
- package/dist/index260.cjs +1 -0
- package/dist/index260.js +37 -0
- package/dist/index261.cjs +1 -0
- package/dist/index261.js +19 -0
- package/dist/index262.cjs +1 -0
- package/dist/index262.js +81 -0
- package/dist/index263.cjs +1 -0
- package/dist/index263.js +4 -0
- package/dist/index264.cjs +1 -0
- package/dist/index264.js +17 -0
- package/dist/index265.cjs +1 -0
- package/dist/index265.js +21 -0
- package/dist/index266.cjs +1 -0
- package/dist/index266.js +20 -0
- package/dist/index267.cjs +1 -0
- package/dist/index267.js +13 -0
- package/dist/index268.cjs +1 -0
- package/dist/index268.js +43 -0
- package/dist/index269.cjs +1 -0
- package/dist/index269.js +16 -0
- package/dist/index27.cjs +1 -1
- package/dist/index27.js +34 -9
- package/dist/index270.cjs +1 -0
- package/dist/index270.js +27 -0
- package/dist/index271.cjs +1 -0
- package/dist/index271.js +15 -0
- package/dist/index272.cjs +1 -0
- package/dist/index272.js +12 -0
- package/dist/index273.cjs +1 -0
- package/dist/index273.js +33 -0
- package/dist/index274.cjs +1 -0
- package/dist/index274.js +4 -0
- package/dist/index275.cjs +1 -0
- package/dist/index275.js +50 -0
- package/dist/index276.cjs +1 -0
- package/dist/index276.js +14 -0
- package/dist/index277.cjs +1 -0
- package/dist/index277.js +177 -0
- package/dist/index278.cjs +2 -0
- package/dist/index278.js +94 -0
- package/dist/index279.cjs +1 -0
- package/dist/index279.js +43 -0
- package/dist/index28.cjs +1 -1
- package/dist/index28.js +332 -47
- package/dist/index280.cjs +1 -0
- package/dist/index280.js +7 -0
- package/dist/index281.cjs +1 -0
- package/dist/index281.js +80 -0
- package/dist/index282.cjs +1 -0
- package/dist/index282.js +122 -0
- package/dist/index283.cjs +1 -0
- package/dist/index283.js +7 -0
- package/dist/index284.cjs +1 -0
- package/dist/index284.js +10 -0
- package/dist/index285.cjs +1 -0
- package/dist/index285.js +7 -0
- package/dist/index286.cjs +1 -0
- package/dist/index286.js +166 -0
- package/dist/index287.cjs +1 -0
- package/dist/index287.js +7 -0
- package/dist/index288.cjs +2 -0
- package/dist/index288.js +44 -0
- package/dist/index289.cjs +1 -0
- package/dist/index289.js +4 -0
- package/dist/index29.cjs +1 -1
- package/dist/index29.js +4 -61
- package/dist/index290.cjs +1 -0
- package/dist/index290.js +8 -0
- package/dist/index291.cjs +1 -0
- package/dist/index291.js +13 -0
- package/dist/index292.cjs +1 -0
- package/dist/index292.js +22 -0
- package/dist/index293.cjs +1 -0
- package/dist/index293.js +11 -0
- package/dist/index294.cjs +1 -0
- package/dist/index294.js +75 -0
- package/dist/index295.cjs +1 -0
- package/dist/index295.js +68 -0
- package/dist/index296.cjs +1 -0
- package/dist/index296.js +191 -0
- package/dist/index297.cjs +1 -0
- package/dist/index297.js +25 -0
- package/dist/index298.cjs +1 -0
- package/dist/index298.js +45 -0
- package/dist/index299.cjs +1 -0
- package/dist/index299.js +28 -0
- package/dist/index3.cjs +1 -1
- package/dist/index3.js +17 -5
- package/dist/index30.cjs +1 -1
- package/dist/index30.js +271 -35
- package/dist/index300.cjs +1 -0
- package/dist/index300.js +93 -0
- package/dist/index301.cjs +1 -0
- package/dist/index301.js +43 -0
- package/dist/index302.cjs +1 -0
- package/dist/index302.js +19 -0
- package/dist/index303.cjs +1 -0
- package/dist/index303.js +16 -0
- package/dist/index304.cjs +1 -0
- package/dist/index304.js +40 -0
- package/dist/index305.cjs +1 -0
- package/dist/index305.js +18 -0
- package/dist/index306.cjs +1 -0
- package/dist/index306.js +11 -0
- package/dist/index307.cjs +1 -0
- package/dist/index307.js +45 -0
- package/dist/index308.cjs +1 -0
- package/dist/index308.js +323 -0
- package/dist/index309.cjs +1 -0
- package/dist/index309.js +608 -0
- package/dist/index31.cjs +1 -1
- package/dist/index31.js +19 -41
- package/dist/index310.cjs +1 -0
- package/dist/index310.js +112 -0
- package/dist/index311.cjs +1 -0
- package/dist/index311.js +170 -0
- package/dist/index312.cjs +1 -0
- package/dist/index312.js +304 -0
- package/dist/index313.cjs +1 -0
- package/dist/index313.js +96 -0
- package/dist/index314.cjs +1 -0
- package/dist/index314.js +59 -0
- package/dist/index315.cjs +1 -0
- package/dist/index315.js +56 -0
- package/dist/index316.cjs +1 -0
- package/dist/index316.js +47 -0
- package/dist/index317.cjs +1 -0
- package/dist/index317.js +18 -0
- package/dist/index318.cjs +1 -0
- package/dist/index318.js +320 -0
- package/dist/index319.cjs +1 -0
- package/dist/index319.js +62 -0
- package/dist/index32.cjs +1 -0
- package/dist/index32.js +22 -0
- package/dist/index320.cjs +1 -0
- package/dist/index320.js +22 -0
- package/dist/index321.cjs +1 -0
- package/dist/index321.js +32 -0
- package/dist/index322.cjs +1 -0
- package/dist/index322.js +6 -0
- package/dist/index323.cjs +7 -0
- package/dist/index323.js +240 -0
- package/dist/index324.cjs +1 -0
- package/dist/index324.js +50 -0
- package/dist/index325.cjs +1 -0
- package/dist/index325.js +215 -0
- package/dist/index326.cjs +1 -0
- package/dist/index326.js +84 -0
- package/dist/index327.cjs +1 -0
- package/dist/index327.js +32 -0
- package/dist/index328.cjs +1 -0
- package/dist/index328.js +79 -0
- package/dist/index329.cjs +1 -0
- package/dist/index329.js +10 -0
- package/dist/index33.cjs +1 -0
- package/dist/index33.js +6 -0
- package/dist/index330.cjs +1 -0
- package/dist/index330.js +14 -0
- package/dist/index331.cjs +1 -0
- package/dist/index331.js +16 -0
- package/dist/index332.cjs +1 -0
- package/dist/index332.js +15 -0
- package/dist/index333.cjs +1 -0
- package/dist/index333.js +12 -0
- package/dist/index334.cjs +1 -0
- package/dist/index334.js +19 -0
- package/dist/index335.cjs +1 -0
- package/dist/index335.js +25 -0
- package/dist/index336.cjs +1 -0
- package/dist/index336.js +16 -0
- package/dist/index337.cjs +1 -0
- package/dist/index337.js +17 -0
- package/dist/index338.cjs +1 -0
- package/dist/index338.js +12 -0
- package/dist/index339.cjs +1 -0
- package/dist/index339.js +18 -0
- package/dist/index34.cjs +1 -0
- package/dist/index34.js +28 -0
- package/dist/index340.cjs +1 -0
- package/dist/index340.js +28 -0
- package/dist/index341.cjs +1 -0
- package/dist/index341.js +34 -0
- package/dist/index342.cjs +2 -0
- package/dist/index342.js +21 -0
- package/dist/index343.cjs +1 -0
- package/dist/index343.js +17 -0
- package/dist/index344.cjs +1 -0
- package/dist/index344.js +36 -0
- package/dist/index345.cjs +1 -0
- package/dist/index345.js +118 -0
- package/dist/index346.cjs +1 -0
- package/dist/index346.js +106 -0
- package/dist/index347.cjs +1 -0
- package/dist/index347.js +9 -0
- package/dist/index348.cjs +1 -0
- package/dist/index348.js +9 -0
- package/dist/index349.cjs +1 -0
- package/dist/index349.js +29 -0
- package/dist/index35.cjs +1 -0
- package/dist/index35.js +13 -0
- package/dist/index350.cjs +1 -0
- package/dist/index350.js +19 -0
- package/dist/index351.cjs +1 -0
- package/dist/index351.js +217 -0
- package/dist/index352.cjs +2 -0
- package/dist/index352.js +196 -0
- package/dist/index353.cjs +1 -0
- package/dist/index353.js +19 -0
- package/dist/index354.cjs +1 -0
- package/dist/index354.js +17 -0
- package/dist/index355.cjs +1 -0
- package/dist/index355.js +12 -0
- package/dist/index356.cjs +1 -0
- package/dist/index356.js +55 -0
- package/dist/index357.cjs +1 -0
- package/dist/index357.js +24 -0
- package/dist/index358.cjs +1 -0
- package/dist/index358.js +4 -0
- package/dist/index359.cjs +1 -0
- package/dist/index359.js +209 -0
- package/dist/index36.cjs +1 -0
- package/dist/index36.js +44 -0
- package/dist/index360.cjs +1 -0
- package/dist/index360.js +71 -0
- package/dist/index361.cjs +1 -0
- package/dist/index361.js +97 -0
- package/dist/index362.cjs +1 -0
- package/dist/index362.js +31 -0
- package/dist/index363.cjs +1 -0
- package/dist/index363.js +151 -0
- package/dist/index364.cjs +1 -0
- package/dist/index364.js +357 -0
- package/dist/index365.cjs +1 -0
- package/dist/index365.js +278 -0
- package/dist/index366.cjs +1 -0
- package/dist/index366.js +173 -0
- package/dist/index367.cjs +1 -0
- package/dist/index367.js +12 -0
- package/dist/index368.cjs +1 -0
- package/dist/index368.js +110 -0
- package/dist/index369.cjs +1 -0
- package/dist/index369.js +8 -0
- package/dist/index37.cjs +1 -0
- package/dist/index37.js +90 -0
- package/dist/index370.cjs +1 -0
- package/dist/index370.js +76 -0
- package/dist/index371.cjs +1 -0
- package/dist/index371.js +12 -0
- package/dist/index372.cjs +1 -0
- package/dist/index372.js +34 -0
- package/dist/index373.cjs +1 -0
- package/dist/index373.js +143 -0
- package/dist/index374.cjs +1 -0
- package/dist/index374.js +6 -0
- package/dist/index375.cjs +1 -0
- package/dist/index375.js +136 -0
- package/dist/index376.cjs +1 -0
- package/dist/index376.js +81 -0
- package/dist/index377.cjs +1 -0
- package/dist/index377.js +4 -0
- package/dist/index378.cjs +1 -0
- package/dist/index378.js +45 -0
- package/dist/index379.cjs +1 -0
- package/dist/index379.js +660 -0
- package/dist/index38.cjs +1 -0
- package/dist/index38.js +153 -0
- package/dist/index380.cjs +1 -0
- package/dist/index380.js +180 -0
- package/dist/index381.cjs +1 -0
- package/dist/index381.js +346 -0
- package/dist/index382.cjs +1 -0
- package/dist/index382.js +163 -0
- package/dist/index383.cjs +1 -0
- package/dist/index383.js +5 -0
- package/dist/index384.cjs +1 -0
- package/dist/index384.js +65 -0
- package/dist/index385.cjs +1 -0
- package/dist/index385.js +112 -0
- package/dist/index386.cjs +1 -0
- package/dist/index386.js +134 -0
- package/dist/index387.cjs +1 -0
- package/dist/index387.js +262 -0
- package/dist/index39.cjs +1 -0
- package/dist/index39.js +31 -0
- package/dist/index4.cjs +1 -1
- package/dist/index4.js +33 -23
- package/dist/index40.cjs +1 -0
- package/dist/index40.js +20 -0
- package/dist/index41.cjs +1 -0
- package/dist/index41.js +110 -0
- package/dist/index42.cjs +1 -0
- package/dist/index42.js +14 -0
- package/dist/index43.cjs +1 -0
- package/dist/index43.js +61 -0
- package/dist/index44.cjs +1 -0
- package/dist/index44.js +524 -0
- package/dist/index45.cjs +1 -0
- package/dist/index45.js +32 -0
- package/dist/index46.cjs +1 -0
- package/dist/index46.js +28 -0
- package/dist/index47.cjs +1 -0
- package/dist/index47.js +28 -0
- package/dist/index48.cjs +1 -0
- package/dist/index48.js +51 -0
- package/dist/index49.cjs +1 -0
- package/dist/index49.js +30 -0
- package/dist/index50.cjs +1 -0
- package/dist/index50.js +30 -0
- package/dist/index51.cjs +1 -0
- package/dist/index51.js +33 -0
- package/dist/index52.cjs +1 -0
- package/dist/index52.js +32 -0
- package/dist/index53.cjs +1 -0
- package/dist/index53.js +58 -0
- package/dist/index54.cjs +1 -0
- package/dist/index54.js +56 -0
- package/dist/index55.cjs +1 -0
- package/dist/index55.js +38 -0
- package/dist/index56.cjs +1 -0
- package/dist/index56.js +39 -0
- package/dist/index57.cjs +1 -0
- package/dist/index57.js +32 -0
- package/dist/index58.cjs +1 -0
- package/dist/index58.js +30 -0
- package/dist/index59.cjs +1 -0
- package/dist/index59.js +30 -0
- package/dist/index6.cjs +1 -1
- package/dist/index6.js +273 -91
- package/dist/index60.cjs +1 -0
- package/dist/index60.js +17 -0
- package/dist/index61.cjs +1 -0
- package/dist/index61.js +16 -0
- package/dist/index62.cjs +1 -0
- package/dist/index62.js +90 -0
- package/dist/index63.cjs +1 -0
- package/dist/index63.js +16 -0
- package/dist/index64.cjs +1 -0
- package/dist/index64.js +35 -0
- package/dist/index65.cjs +1 -0
- package/dist/index65.js +17 -0
- package/dist/index66.cjs +1 -0
- package/dist/index66.js +20 -0
- package/dist/index67.cjs +1 -0
- package/dist/index67.js +12 -0
- package/dist/index68.cjs +1 -0
- package/dist/index68.js +15 -0
- package/dist/index69.cjs +1 -0
- package/dist/index69.js +39 -0
- package/dist/index7.cjs +1 -1
- package/dist/index7.js +237 -47
- package/dist/index70.cjs +1 -0
- package/dist/index70.js +44 -0
- package/dist/index71.cjs +1 -0
- package/dist/index71.js +36 -0
- package/dist/index72.cjs +1 -0
- package/dist/index72.js +27 -0
- package/dist/index73.cjs +1 -0
- package/dist/index73.js +57 -0
- package/dist/index74.cjs +1 -0
- package/dist/index74.js +30 -0
- package/dist/index75.cjs +1 -0
- package/dist/index75.js +22 -0
- package/dist/index76.cjs +1 -0
- package/dist/index76.js +730 -0
- package/dist/index77.cjs +1 -0
- package/dist/index77.js +524 -0
- package/dist/index78.cjs +1 -0
- package/dist/index78.js +15 -0
- package/dist/index79.cjs +1 -0
- package/dist/index79.js +14 -0
- package/dist/index8.cjs +1 -1
- package/dist/index8.js +42 -46
- package/dist/index80.cjs +1 -0
- package/dist/index80.js +21 -0
- package/dist/index81.cjs +1 -0
- package/dist/index81.js +48 -0
- package/dist/index82.cjs +1 -0
- package/dist/index82.js +45 -0
- package/dist/index83.cjs +1 -0
- package/dist/index83.js +174 -0
- package/dist/index84.cjs +1 -0
- package/dist/index84.js +23 -0
- package/dist/index85.cjs +1 -0
- package/dist/index85.js +33 -0
- package/dist/index86.cjs +1 -0
- package/dist/index86.js +29 -0
- package/dist/index87.cjs +1 -0
- package/dist/index87.js +7 -0
- package/dist/index88.cjs +1 -0
- package/dist/index88.js +9 -0
- package/dist/index89.cjs +1 -0
- package/dist/index89.js +19 -0
- package/dist/index9.cjs +1 -1
- package/dist/index9.js +63 -93
- package/dist/index90.cjs +1 -0
- package/dist/index90.js +15 -0
- package/dist/index91.cjs +1 -0
- package/dist/index91.js +12 -0
- package/dist/index92.cjs +1 -0
- package/dist/index92.js +159 -0
- package/dist/index93.cjs +1 -0
- package/dist/index93.js +7 -0
- package/dist/index94.cjs +3 -0
- package/dist/index94.js +218 -0
- package/dist/index95.cjs +1 -0
- package/dist/index95.js +21 -0
- package/dist/index96.cjs +1 -0
- package/dist/index96.js +13 -0
- package/dist/index97.cjs +1 -0
- package/dist/index97.js +24 -0
- package/dist/index98.cjs +1 -0
- package/dist/index98.js +12 -0
- package/dist/index99.cjs +1 -0
- package/dist/index99.js +12 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/lib/GardenSwapWidget.d.ts +5 -0
- package/dist/src/lib/common/BottomSheet.d.ts +7 -0
- package/dist/src/lib/common/CopyToClipboard.d.ts +7 -0
- package/dist/src/lib/common/GardenBranding.d.ts +3 -0
- package/dist/src/lib/common/Header.d.ts +3 -0
- package/dist/src/lib/common/Modal.d.ts +0 -2
- package/dist/src/lib/common/Sidebar.d.ts +9 -0
- package/dist/src/lib/common/SwapWidgetBase.d.ts +7 -0
- package/dist/src/lib/components/CreateSwap.d.ts +1 -2
- package/dist/src/lib/components/SwapSavingsAndAddresses.d.ts +1 -1
- package/dist/src/lib/components/SwapWidget.d.ts +4 -2
- package/dist/src/lib/components/swapInProgress/SwapInProgress.d.ts +3 -0
- package/dist/src/lib/components/swapInProgress/SwapInProgressSkeleton.d.ts +3 -0
- package/dist/src/lib/components/transactions/TransactionHistory.d.ts +2 -2
- package/dist/src/lib/components/transactions/Transactions.d.ts +1 -2
- package/dist/src/lib/constants/constants.d.ts +25 -0
- package/dist/src/lib/constants/wagmiConfig.d.ts +1548 -0
- package/dist/src/lib/hooks/useAddresses.d.ts +8 -0
- package/dist/src/lib/hooks/useSwap.d.ts +1 -0
- package/dist/src/lib/store/assetStore.d.ts +11 -0
- package/dist/src/lib/store/heightStore.d.ts +10 -0
- package/dist/src/lib/store/orderInProgressStore.d.ts +10 -0
- package/dist/src/lib/store/swapStore.d.ts +22 -4
- package/dist/src/lib/store/transactionHistoryStore.d.ts +2 -2
- package/dist/src/lib/store/widgetConfigStore.d.ts +8 -0
- package/dist/src/lib/types/types.d.ts +20 -2
- package/dist/src/lib/utils/balance/getBalanceMulticall.d.ts +5 -0
- package/dist/src/lib/utils/balance/getNativeTokenFee.d.ts +7 -0
- package/dist/src/lib/utils/balance/getNetworkFees.d.ts +5 -0
- package/dist/src/lib/utils/balance/getTokenBalance.d.ts +8 -0
- package/dist/src/lib/utils/balance/getmaxBtc.d.ts +3 -0
- package/dist/src/lib/utils/balance/rpcUtils.d.ts +17 -0
- package/dist/src/lib/utils/utils.d.ts +1 -0
- package/dist/style.css +1 -1
- package/package.json +17 -8
- package/dist/index5.cjs +0 -1
- package/dist/index5.js +0 -250
- package/dist/src/lib/GardenComponent.d.ts +0 -6
- package/dist/src/lib/common/Navbar.d.ts +0 -10
package/dist/index379.js
ADDED
|
@@ -0,0 +1,660 @@
|
|
|
1
|
+
import { validateBasic as mt, pippenger as bt, wNAF as vt } from "./index380.js";
|
|
2
|
+
import { Field as Bt, mod as wt, getMinHashLength as xt, mapHashToField as St, FpInvertBatch as Rt, invert as Ot } from "./index351.js";
|
|
3
|
+
import { bytesToNumberBE as _, bitMask as At, validateObject as pt, concatBytes as lt, aInRange as W, ensureBytes as F, hexToBytes as dt, isBytes as yt, createHmacDrbg as Tt, memoized as ft, abool as tt, bytesToHex as ut, inRange as gt, numberToHexUnpadded as rt, numberToBytesBE as Et } from "./index359.js";
|
|
4
|
+
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
5
|
+
function ht(m) {
|
|
6
|
+
m.lowS !== void 0 && tt("lowS", m.lowS), m.prehash !== void 0 && tt("prehash", m.prehash);
|
|
7
|
+
}
|
|
8
|
+
function Zt(m) {
|
|
9
|
+
const r = mt(m);
|
|
10
|
+
pt(r, {
|
|
11
|
+
a: "field",
|
|
12
|
+
b: "field"
|
|
13
|
+
}, {
|
|
14
|
+
allowInfinityPoint: "boolean",
|
|
15
|
+
allowedPrivateKeyLengths: "array",
|
|
16
|
+
clearCofactor: "function",
|
|
17
|
+
fromBytes: "function",
|
|
18
|
+
isTorsionFree: "function",
|
|
19
|
+
toBytes: "function",
|
|
20
|
+
wrapPrivateKey: "boolean"
|
|
21
|
+
});
|
|
22
|
+
const { endo: t, Fp: b, a: S } = r;
|
|
23
|
+
if (t) {
|
|
24
|
+
if (!b.eql(S, b.ZERO))
|
|
25
|
+
throw new Error("invalid endo: CURVE.a must be 0");
|
|
26
|
+
if (typeof t != "object" || typeof t.beta != "bigint" || typeof t.splitScalar != "function")
|
|
27
|
+
throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function');
|
|
28
|
+
}
|
|
29
|
+
return Object.freeze({ ...r });
|
|
30
|
+
}
|
|
31
|
+
class zt extends Error {
|
|
32
|
+
constructor(r = "") {
|
|
33
|
+
super(r);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const C = {
|
|
37
|
+
// asn.1 DER encoding utils
|
|
38
|
+
Err: zt,
|
|
39
|
+
// Basic building block is TLV (Tag-Length-Value)
|
|
40
|
+
_tlv: {
|
|
41
|
+
encode: (m, r) => {
|
|
42
|
+
const { Err: t } = C;
|
|
43
|
+
if (m < 0 || m > 256)
|
|
44
|
+
throw new t("tlv.encode: wrong tag");
|
|
45
|
+
if (r.length & 1)
|
|
46
|
+
throw new t("tlv.encode: unpadded data");
|
|
47
|
+
const b = r.length / 2, S = rt(b);
|
|
48
|
+
if (S.length / 2 & 128)
|
|
49
|
+
throw new t("tlv.encode: long form length too big");
|
|
50
|
+
const N = b > 127 ? rt(S.length / 2 | 128) : "";
|
|
51
|
+
return rt(m) + N + S + r;
|
|
52
|
+
},
|
|
53
|
+
// v - value, l - left bytes (unparsed)
|
|
54
|
+
decode(m, r) {
|
|
55
|
+
const { Err: t } = C;
|
|
56
|
+
let b = 0;
|
|
57
|
+
if (m < 0 || m > 256)
|
|
58
|
+
throw new t("tlv.encode: wrong tag");
|
|
59
|
+
if (r.length < 2 || r[b++] !== m)
|
|
60
|
+
throw new t("tlv.decode: wrong tlv");
|
|
61
|
+
const S = r[b++], N = !!(S & 128);
|
|
62
|
+
let A = 0;
|
|
63
|
+
if (!N)
|
|
64
|
+
A = S;
|
|
65
|
+
else {
|
|
66
|
+
const x = S & 127;
|
|
67
|
+
if (!x)
|
|
68
|
+
throw new t("tlv.decode(long): indefinite length not supported");
|
|
69
|
+
if (x > 4)
|
|
70
|
+
throw new t("tlv.decode(long): byte length is too big");
|
|
71
|
+
const L = r.subarray(b, b + x);
|
|
72
|
+
if (L.length !== x)
|
|
73
|
+
throw new t("tlv.decode: length bytes not complete");
|
|
74
|
+
if (L[0] === 0)
|
|
75
|
+
throw new t("tlv.decode(long): zero leftmost byte");
|
|
76
|
+
for (const O of L)
|
|
77
|
+
A = A << 8 | O;
|
|
78
|
+
if (b += x, A < 128)
|
|
79
|
+
throw new t("tlv.decode(long): not minimal encoding");
|
|
80
|
+
}
|
|
81
|
+
const V = r.subarray(b, b + A);
|
|
82
|
+
if (V.length !== A)
|
|
83
|
+
throw new t("tlv.decode: wrong value length");
|
|
84
|
+
return { v: V, l: r.subarray(b + A) };
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
// https://crypto.stackexchange.com/a/57734 Leftmost bit of first byte is 'negative' flag,
|
|
88
|
+
// since we always use positive integers here. It must always be empty:
|
|
89
|
+
// - add zero byte if exists
|
|
90
|
+
// - if next byte doesn't have a flag, leading zero is not allowed (minimal encoding)
|
|
91
|
+
_int: {
|
|
92
|
+
encode(m) {
|
|
93
|
+
const { Err: r } = C;
|
|
94
|
+
if (m < U)
|
|
95
|
+
throw new r("integer: negative integers are not allowed");
|
|
96
|
+
let t = rt(m);
|
|
97
|
+
if (Number.parseInt(t[0], 16) & 8 && (t = "00" + t), t.length & 1)
|
|
98
|
+
throw new r("unexpected DER parsing assertion: unpadded hex");
|
|
99
|
+
return t;
|
|
100
|
+
},
|
|
101
|
+
decode(m) {
|
|
102
|
+
const { Err: r } = C;
|
|
103
|
+
if (m[0] & 128)
|
|
104
|
+
throw new r("invalid signature integer: negative");
|
|
105
|
+
if (m[0] === 0 && !(m[1] & 128))
|
|
106
|
+
throw new r("invalid signature integer: unnecessary leading zero");
|
|
107
|
+
return _(m);
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
toSig(m) {
|
|
111
|
+
const { Err: r, _int: t, _tlv: b } = C, S = F("signature", m), { v: N, l: A } = b.decode(48, S);
|
|
112
|
+
if (A.length)
|
|
113
|
+
throw new r("invalid signature: left bytes after parsing");
|
|
114
|
+
const { v: V, l: x } = b.decode(2, N), { v: L, l: O } = b.decode(2, x);
|
|
115
|
+
if (O.length)
|
|
116
|
+
throw new r("invalid signature: left bytes after parsing");
|
|
117
|
+
return { r: t.decode(V), s: t.decode(L) };
|
|
118
|
+
},
|
|
119
|
+
hexFromSig(m) {
|
|
120
|
+
const { _tlv: r, _int: t } = C, b = r.encode(2, t.encode(m.r)), S = r.encode(2, t.encode(m.s)), N = b + S;
|
|
121
|
+
return r.encode(48, N);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
function ct(m, r) {
|
|
125
|
+
return ut(Et(m, r));
|
|
126
|
+
}
|
|
127
|
+
const U = BigInt(0), R = BigInt(1);
|
|
128
|
+
BigInt(2);
|
|
129
|
+
const at = BigInt(3), Nt = BigInt(4);
|
|
130
|
+
function qt(m) {
|
|
131
|
+
const r = Zt(m), { Fp: t } = r, b = Bt(r.n, r.nBitLength), S = r.toBytes || ((w, e, i) => {
|
|
132
|
+
const c = e.toAffine();
|
|
133
|
+
return lt(Uint8Array.from([4]), t.toBytes(c.x), t.toBytes(c.y));
|
|
134
|
+
}), N = r.fromBytes || ((w) => {
|
|
135
|
+
const e = w.subarray(1), i = t.fromBytes(e.subarray(0, t.BYTES)), c = t.fromBytes(e.subarray(t.BYTES, 2 * t.BYTES));
|
|
136
|
+
return { x: i, y: c };
|
|
137
|
+
});
|
|
138
|
+
function A(w) {
|
|
139
|
+
const { a: e, b: i } = r, c = t.sqr(w), d = t.mul(c, w);
|
|
140
|
+
return t.add(t.add(d, t.mul(w, e)), i);
|
|
141
|
+
}
|
|
142
|
+
function V(w, e) {
|
|
143
|
+
const i = t.sqr(e), c = A(w);
|
|
144
|
+
return t.eql(i, c);
|
|
145
|
+
}
|
|
146
|
+
if (!V(r.Gx, r.Gy))
|
|
147
|
+
throw new Error("bad curve params: generator point");
|
|
148
|
+
const x = t.mul(t.pow(r.a, at), Nt), L = t.mul(t.sqr(r.b), BigInt(27));
|
|
149
|
+
if (t.is0(t.add(x, L)))
|
|
150
|
+
throw new Error("bad curve params: a or b");
|
|
151
|
+
function O(w) {
|
|
152
|
+
return gt(w, R, r.n);
|
|
153
|
+
}
|
|
154
|
+
function k(w) {
|
|
155
|
+
const { allowedPrivateKeyLengths: e, nByteLength: i, wrapPrivateKey: c, n: d } = r;
|
|
156
|
+
if (e && typeof w != "bigint") {
|
|
157
|
+
if (yt(w) && (w = ut(w)), typeof w != "string" || !e.includes(w.length))
|
|
158
|
+
throw new Error("invalid private key");
|
|
159
|
+
w = w.padStart(i * 2, "0");
|
|
160
|
+
}
|
|
161
|
+
let y;
|
|
162
|
+
try {
|
|
163
|
+
y = typeof w == "bigint" ? w : _(F("private key", w, i));
|
|
164
|
+
} catch {
|
|
165
|
+
throw new Error("invalid private key, expected hex or " + i + " bytes, got " + typeof w);
|
|
166
|
+
}
|
|
167
|
+
return c && (y = wt(y, d)), W("private key", y, R, d), y;
|
|
168
|
+
}
|
|
169
|
+
function et(w) {
|
|
170
|
+
if (!(w instanceof g))
|
|
171
|
+
throw new Error("ProjectivePoint expected");
|
|
172
|
+
}
|
|
173
|
+
const ot = ft((w, e) => {
|
|
174
|
+
const { px: i, py: c, pz: d } = w;
|
|
175
|
+
if (t.eql(d, t.ONE))
|
|
176
|
+
return { x: i, y: c };
|
|
177
|
+
const y = w.is0();
|
|
178
|
+
e == null && (e = y ? t.ONE : t.inv(d));
|
|
179
|
+
const v = t.mul(i, e), E = t.mul(c, e), a = t.mul(d, e);
|
|
180
|
+
if (y)
|
|
181
|
+
return { x: t.ZERO, y: t.ZERO };
|
|
182
|
+
if (!t.eql(a, t.ONE))
|
|
183
|
+
throw new Error("invZ was invalid");
|
|
184
|
+
return { x: v, y: E };
|
|
185
|
+
}), G = ft((w) => {
|
|
186
|
+
if (w.is0()) {
|
|
187
|
+
if (r.allowInfinityPoint && !t.is0(w.py))
|
|
188
|
+
return;
|
|
189
|
+
throw new Error("bad point: ZERO");
|
|
190
|
+
}
|
|
191
|
+
const { x: e, y: i } = w.toAffine();
|
|
192
|
+
if (!t.isValid(e) || !t.isValid(i))
|
|
193
|
+
throw new Error("bad point: x or y not FE");
|
|
194
|
+
if (!V(e, i))
|
|
195
|
+
throw new Error("bad point: equation left != right");
|
|
196
|
+
if (!w.isTorsionFree())
|
|
197
|
+
throw new Error("bad point: not in prime-order subgroup");
|
|
198
|
+
return !0;
|
|
199
|
+
});
|
|
200
|
+
class g {
|
|
201
|
+
constructor(e, i, c) {
|
|
202
|
+
if (e == null || !t.isValid(e))
|
|
203
|
+
throw new Error("x required");
|
|
204
|
+
if (i == null || !t.isValid(i) || t.is0(i))
|
|
205
|
+
throw new Error("y required");
|
|
206
|
+
if (c == null || !t.isValid(c))
|
|
207
|
+
throw new Error("z required");
|
|
208
|
+
this.px = e, this.py = i, this.pz = c, Object.freeze(this);
|
|
209
|
+
}
|
|
210
|
+
// Does not validate if the point is on-curve.
|
|
211
|
+
// Use fromHex instead, or call assertValidity() later.
|
|
212
|
+
static fromAffine(e) {
|
|
213
|
+
const { x: i, y: c } = e || {};
|
|
214
|
+
if (!e || !t.isValid(i) || !t.isValid(c))
|
|
215
|
+
throw new Error("invalid affine point");
|
|
216
|
+
if (e instanceof g)
|
|
217
|
+
throw new Error("projective point not allowed");
|
|
218
|
+
const d = (y) => t.eql(y, t.ZERO);
|
|
219
|
+
return d(i) && d(c) ? g.ZERO : new g(i, c, t.ONE);
|
|
220
|
+
}
|
|
221
|
+
get x() {
|
|
222
|
+
return this.toAffine().x;
|
|
223
|
+
}
|
|
224
|
+
get y() {
|
|
225
|
+
return this.toAffine().y;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Takes a bunch of Projective Points but executes only one
|
|
229
|
+
* inversion on all of them. Inversion is very slow operation,
|
|
230
|
+
* so this improves performance massively.
|
|
231
|
+
* Optimization: converts a list of projective points to a list of identical points with Z=1.
|
|
232
|
+
*/
|
|
233
|
+
static normalizeZ(e) {
|
|
234
|
+
const i = Rt(t, e.map((c) => c.pz));
|
|
235
|
+
return e.map((c, d) => c.toAffine(i[d])).map(g.fromAffine);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Converts hash string or Uint8Array to Point.
|
|
239
|
+
* @param hex short/long ECDSA hex
|
|
240
|
+
*/
|
|
241
|
+
static fromHex(e) {
|
|
242
|
+
const i = g.fromAffine(N(F("pointHex", e)));
|
|
243
|
+
return i.assertValidity(), i;
|
|
244
|
+
}
|
|
245
|
+
// Multiplies generator point by privateKey.
|
|
246
|
+
static fromPrivateKey(e) {
|
|
247
|
+
return g.BASE.multiply(k(e));
|
|
248
|
+
}
|
|
249
|
+
// Multiscalar Multiplication
|
|
250
|
+
static msm(e, i) {
|
|
251
|
+
return bt(g, b, e, i);
|
|
252
|
+
}
|
|
253
|
+
// "Private method", don't use it directly
|
|
254
|
+
_setWindowSize(e) {
|
|
255
|
+
j.setWindowSize(this, e);
|
|
256
|
+
}
|
|
257
|
+
// A point on curve is valid if it conforms to equation.
|
|
258
|
+
assertValidity() {
|
|
259
|
+
G(this);
|
|
260
|
+
}
|
|
261
|
+
hasEvenY() {
|
|
262
|
+
const { y: e } = this.toAffine();
|
|
263
|
+
if (t.isOdd)
|
|
264
|
+
return !t.isOdd(e);
|
|
265
|
+
throw new Error("Field doesn't support isOdd");
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Compare one point to another.
|
|
269
|
+
*/
|
|
270
|
+
equals(e) {
|
|
271
|
+
et(e);
|
|
272
|
+
const { px: i, py: c, pz: d } = this, { px: y, py: v, pz: E } = e, a = t.eql(t.mul(i, E), t.mul(y, d)), p = t.eql(t.mul(c, E), t.mul(v, d));
|
|
273
|
+
return a && p;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Flips point to one corresponding to (x, -y) in Affine coordinates.
|
|
277
|
+
*/
|
|
278
|
+
negate() {
|
|
279
|
+
return new g(this.px, t.neg(this.py), this.pz);
|
|
280
|
+
}
|
|
281
|
+
// Renes-Costello-Batina exception-free doubling formula.
|
|
282
|
+
// There is 30% faster Jacobian formula, but it is not complete.
|
|
283
|
+
// https://eprint.iacr.org/2015/1060, algorithm 3
|
|
284
|
+
// Cost: 8M + 3S + 3*a + 2*b3 + 15add.
|
|
285
|
+
double() {
|
|
286
|
+
const { a: e, b: i } = r, c = t.mul(i, at), { px: d, py: y, pz: v } = this;
|
|
287
|
+
let E = t.ZERO, a = t.ZERO, p = t.ZERO, l = t.mul(d, d), T = t.mul(y, y), o = t.mul(v, v), n = t.mul(d, y);
|
|
288
|
+
return n = t.add(n, n), p = t.mul(d, v), p = t.add(p, p), E = t.mul(e, p), a = t.mul(c, o), a = t.add(E, a), E = t.sub(T, a), a = t.add(T, a), a = t.mul(E, a), E = t.mul(n, E), p = t.mul(c, p), o = t.mul(e, o), n = t.sub(l, o), n = t.mul(e, n), n = t.add(n, p), p = t.add(l, l), l = t.add(p, l), l = t.add(l, o), l = t.mul(l, n), a = t.add(a, l), o = t.mul(y, v), o = t.add(o, o), l = t.mul(o, n), E = t.sub(E, l), p = t.mul(o, T), p = t.add(p, p), p = t.add(p, p), new g(E, a, p);
|
|
289
|
+
}
|
|
290
|
+
// Renes-Costello-Batina exception-free addition formula.
|
|
291
|
+
// There is 30% faster Jacobian formula, but it is not complete.
|
|
292
|
+
// https://eprint.iacr.org/2015/1060, algorithm 1
|
|
293
|
+
// Cost: 12M + 0S + 3*a + 3*b3 + 23add.
|
|
294
|
+
add(e) {
|
|
295
|
+
et(e);
|
|
296
|
+
const { px: i, py: c, pz: d } = this, { px: y, py: v, pz: E } = e;
|
|
297
|
+
let a = t.ZERO, p = t.ZERO, l = t.ZERO;
|
|
298
|
+
const T = r.a, o = t.mul(r.b, at);
|
|
299
|
+
let n = t.mul(i, y), s = t.mul(c, v), h = t.mul(d, E), u = t.add(i, c), f = t.add(y, v);
|
|
300
|
+
u = t.mul(u, f), f = t.add(n, s), u = t.sub(u, f), f = t.add(i, d);
|
|
301
|
+
let B = t.add(y, E);
|
|
302
|
+
return f = t.mul(f, B), B = t.add(n, h), f = t.sub(f, B), B = t.add(c, d), a = t.add(v, E), B = t.mul(B, a), a = t.add(s, h), B = t.sub(B, a), l = t.mul(T, f), a = t.mul(o, h), l = t.add(a, l), a = t.sub(s, l), l = t.add(s, l), p = t.mul(a, l), s = t.add(n, n), s = t.add(s, n), h = t.mul(T, h), f = t.mul(o, f), s = t.add(s, h), h = t.sub(n, h), h = t.mul(T, h), f = t.add(f, h), n = t.mul(s, f), p = t.add(p, n), n = t.mul(B, f), a = t.mul(u, a), a = t.sub(a, n), n = t.mul(u, s), l = t.mul(B, l), l = t.add(l, n), new g(a, p, l);
|
|
303
|
+
}
|
|
304
|
+
subtract(e) {
|
|
305
|
+
return this.add(e.negate());
|
|
306
|
+
}
|
|
307
|
+
is0() {
|
|
308
|
+
return this.equals(g.ZERO);
|
|
309
|
+
}
|
|
310
|
+
wNAF(e) {
|
|
311
|
+
return j.wNAFCached(this, e, g.normalizeZ);
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Non-constant-time multiplication. Uses double-and-add algorithm.
|
|
315
|
+
* It's faster, but should only be used when you don't care about
|
|
316
|
+
* an exposed private key e.g. sig verification, which works over *public* keys.
|
|
317
|
+
*/
|
|
318
|
+
multiplyUnsafe(e) {
|
|
319
|
+
const { endo: i, n: c } = r;
|
|
320
|
+
W("scalar", e, U, c);
|
|
321
|
+
const d = g.ZERO;
|
|
322
|
+
if (e === U)
|
|
323
|
+
return d;
|
|
324
|
+
if (this.is0() || e === R)
|
|
325
|
+
return this;
|
|
326
|
+
if (!i || j.hasPrecomputes(this))
|
|
327
|
+
return j.wNAFCachedUnsafe(this, e, g.normalizeZ);
|
|
328
|
+
let { k1neg: y, k1: v, k2neg: E, k2: a } = i.splitScalar(e), p = d, l = d, T = this;
|
|
329
|
+
for (; v > U || a > U; )
|
|
330
|
+
v & R && (p = p.add(T)), a & R && (l = l.add(T)), T = T.double(), v >>= R, a >>= R;
|
|
331
|
+
return y && (p = p.negate()), E && (l = l.negate()), l = new g(t.mul(l.px, i.beta), l.py, l.pz), p.add(l);
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Constant time multiplication.
|
|
335
|
+
* Uses wNAF method. Windowed method may be 10% faster,
|
|
336
|
+
* but takes 2x longer to generate and consumes 2x memory.
|
|
337
|
+
* Uses precomputes when available.
|
|
338
|
+
* Uses endomorphism for Koblitz curves.
|
|
339
|
+
* @param scalar by which the point would be multiplied
|
|
340
|
+
* @returns New point
|
|
341
|
+
*/
|
|
342
|
+
multiply(e) {
|
|
343
|
+
const { endo: i, n: c } = r;
|
|
344
|
+
W("scalar", e, R, c);
|
|
345
|
+
let d, y;
|
|
346
|
+
if (i) {
|
|
347
|
+
const { k1neg: v, k1: E, k2neg: a, k2: p } = i.splitScalar(e);
|
|
348
|
+
let { p: l, f: T } = this.wNAF(E), { p: o, f: n } = this.wNAF(p);
|
|
349
|
+
l = j.constTimeNegate(v, l), o = j.constTimeNegate(a, o), o = new g(t.mul(o.px, i.beta), o.py, o.pz), d = l.add(o), y = T.add(n);
|
|
350
|
+
} else {
|
|
351
|
+
const { p: v, f: E } = this.wNAF(e);
|
|
352
|
+
d = v, y = E;
|
|
353
|
+
}
|
|
354
|
+
return g.normalizeZ([d, y])[0];
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Efficiently calculate `aP + bQ`. Unsafe, can expose private key, if used incorrectly.
|
|
358
|
+
* Not using Strauss-Shamir trick: precomputation tables are faster.
|
|
359
|
+
* The trick could be useful if both P and Q are not G (not in our case).
|
|
360
|
+
* @returns non-zero affine point
|
|
361
|
+
*/
|
|
362
|
+
multiplyAndAddUnsafe(e, i, c) {
|
|
363
|
+
const d = g.BASE, y = (E, a) => a === U || a === R || !E.equals(d) ? E.multiplyUnsafe(a) : E.multiply(a), v = y(this, i).add(y(e, c));
|
|
364
|
+
return v.is0() ? void 0 : v;
|
|
365
|
+
}
|
|
366
|
+
// Converts Projective point to affine (x, y) coordinates.
|
|
367
|
+
// Can accept precomputed Z^-1 - for example, from invertBatch.
|
|
368
|
+
// (x, y, z) ∋ (x=x/z, y=y/z)
|
|
369
|
+
toAffine(e) {
|
|
370
|
+
return ot(this, e);
|
|
371
|
+
}
|
|
372
|
+
isTorsionFree() {
|
|
373
|
+
const { h: e, isTorsionFree: i } = r;
|
|
374
|
+
if (e === R)
|
|
375
|
+
return !0;
|
|
376
|
+
if (i)
|
|
377
|
+
return i(g, this);
|
|
378
|
+
throw new Error("isTorsionFree() has not been declared for the elliptic curve");
|
|
379
|
+
}
|
|
380
|
+
clearCofactor() {
|
|
381
|
+
const { h: e, clearCofactor: i } = r;
|
|
382
|
+
return e === R ? this : i ? i(g, this) : this.multiplyUnsafe(r.h);
|
|
383
|
+
}
|
|
384
|
+
toRawBytes(e = !0) {
|
|
385
|
+
return tt("isCompressed", e), this.assertValidity(), S(g, this, e);
|
|
386
|
+
}
|
|
387
|
+
toHex(e = !0) {
|
|
388
|
+
return tt("isCompressed", e), ut(this.toRawBytes(e));
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
g.BASE = new g(r.Gx, r.Gy, t.ONE), g.ZERO = new g(t.ZERO, t.ONE, t.ZERO);
|
|
392
|
+
const { endo: nt, nBitLength: q } = r, j = vt(g, nt ? Math.ceil(q / 2) : q);
|
|
393
|
+
return {
|
|
394
|
+
CURVE: r,
|
|
395
|
+
ProjectivePoint: g,
|
|
396
|
+
normPrivateKeyToScalar: k,
|
|
397
|
+
weierstrassEquation: A,
|
|
398
|
+
isWithinCurveOrder: O
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
function Ft(m) {
|
|
402
|
+
const r = mt(m);
|
|
403
|
+
return pt(r, {
|
|
404
|
+
hash: "hash",
|
|
405
|
+
hmac: "function",
|
|
406
|
+
randomBytes: "function"
|
|
407
|
+
}, {
|
|
408
|
+
bits2int: "function",
|
|
409
|
+
bits2int_modN: "function",
|
|
410
|
+
lowS: "boolean"
|
|
411
|
+
}), Object.freeze({ lowS: !0, ...r });
|
|
412
|
+
}
|
|
413
|
+
function Ht(m) {
|
|
414
|
+
const r = Ft(m), { Fp: t, n: b, nByteLength: S, nBitLength: N } = r, A = t.BYTES + 1, V = 2 * t.BYTES + 1;
|
|
415
|
+
function x(o) {
|
|
416
|
+
return wt(o, b);
|
|
417
|
+
}
|
|
418
|
+
function L(o) {
|
|
419
|
+
return Ot(o, b);
|
|
420
|
+
}
|
|
421
|
+
const { ProjectivePoint: O, normPrivateKeyToScalar: k, weierstrassEquation: et, isWithinCurveOrder: ot } = qt({
|
|
422
|
+
...r,
|
|
423
|
+
toBytes(o, n, s) {
|
|
424
|
+
const h = n.toAffine(), u = t.toBytes(h.x), f = lt;
|
|
425
|
+
return tt("isCompressed", s), s ? f(Uint8Array.from([n.hasEvenY() ? 2 : 3]), u) : f(Uint8Array.from([4]), u, t.toBytes(h.y));
|
|
426
|
+
},
|
|
427
|
+
fromBytes(o) {
|
|
428
|
+
const n = o.length, s = o[0], h = o.subarray(1);
|
|
429
|
+
if (n === A && (s === 2 || s === 3)) {
|
|
430
|
+
const u = _(h);
|
|
431
|
+
if (!gt(u, R, t.ORDER))
|
|
432
|
+
throw new Error("Point is not on curve");
|
|
433
|
+
const f = et(u);
|
|
434
|
+
let B;
|
|
435
|
+
try {
|
|
436
|
+
B = t.sqrt(f);
|
|
437
|
+
} catch (Y) {
|
|
438
|
+
const z = Y instanceof Error ? ": " + Y.message : "";
|
|
439
|
+
throw new Error("Point is not on curve" + z);
|
|
440
|
+
}
|
|
441
|
+
const Z = (B & R) === R;
|
|
442
|
+
return (s & 1) === 1 !== Z && (B = t.neg(B)), { x: u, y: B };
|
|
443
|
+
} else if (n === V && s === 4) {
|
|
444
|
+
const u = t.fromBytes(h.subarray(0, t.BYTES)), f = t.fromBytes(h.subarray(t.BYTES, 2 * t.BYTES));
|
|
445
|
+
return { x: u, y: f };
|
|
446
|
+
} else {
|
|
447
|
+
const u = A, f = V;
|
|
448
|
+
throw new Error("invalid Point, expected length of " + u + ", or uncompressed " + f + ", got " + n);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
function G(o) {
|
|
453
|
+
const n = b >> R;
|
|
454
|
+
return o > n;
|
|
455
|
+
}
|
|
456
|
+
function g(o) {
|
|
457
|
+
return G(o) ? x(-o) : o;
|
|
458
|
+
}
|
|
459
|
+
const nt = (o, n, s) => _(o.slice(n, s));
|
|
460
|
+
class q {
|
|
461
|
+
constructor(n, s, h) {
|
|
462
|
+
W("r", n, R, b), W("s", s, R, b), this.r = n, this.s = s, h != null && (this.recovery = h), Object.freeze(this);
|
|
463
|
+
}
|
|
464
|
+
// pair (bytes of r, bytes of s)
|
|
465
|
+
static fromCompact(n) {
|
|
466
|
+
const s = S;
|
|
467
|
+
return n = F("compactSignature", n, s * 2), new q(nt(n, 0, s), nt(n, s, 2 * s));
|
|
468
|
+
}
|
|
469
|
+
// DER encoded ECDSA signature
|
|
470
|
+
// https://bitcoin.stackexchange.com/questions/57644/what-are-the-parts-of-a-bitcoin-transaction-input-script
|
|
471
|
+
static fromDER(n) {
|
|
472
|
+
const { r: s, s: h } = C.toSig(F("DER", n));
|
|
473
|
+
return new q(s, h);
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* @todo remove
|
|
477
|
+
* @deprecated
|
|
478
|
+
*/
|
|
479
|
+
assertValidity() {
|
|
480
|
+
}
|
|
481
|
+
addRecoveryBit(n) {
|
|
482
|
+
return new q(this.r, this.s, n);
|
|
483
|
+
}
|
|
484
|
+
recoverPublicKey(n) {
|
|
485
|
+
const { r: s, s: h, recovery: u } = this, f = d(F("msgHash", n));
|
|
486
|
+
if (u == null || ![0, 1, 2, 3].includes(u))
|
|
487
|
+
throw new Error("recovery id invalid");
|
|
488
|
+
const B = u === 2 || u === 3 ? s + r.n : s;
|
|
489
|
+
if (B >= t.ORDER)
|
|
490
|
+
throw new Error("recovery id 2 or 3 invalid");
|
|
491
|
+
const Z = u & 1 ? "03" : "02", H = O.fromHex(Z + ct(B, t.BYTES)), Y = L(B), z = x(-f * Y), P = x(h * Y), I = O.BASE.multiplyAndAddUnsafe(H, z, P);
|
|
492
|
+
if (!I)
|
|
493
|
+
throw new Error("point at infinify");
|
|
494
|
+
return I.assertValidity(), I;
|
|
495
|
+
}
|
|
496
|
+
// Signatures should be low-s, to prevent malleability.
|
|
497
|
+
hasHighS() {
|
|
498
|
+
return G(this.s);
|
|
499
|
+
}
|
|
500
|
+
normalizeS() {
|
|
501
|
+
return this.hasHighS() ? new q(this.r, x(-this.s), this.recovery) : this;
|
|
502
|
+
}
|
|
503
|
+
// DER-encoded
|
|
504
|
+
toDERRawBytes() {
|
|
505
|
+
return dt(this.toDERHex());
|
|
506
|
+
}
|
|
507
|
+
toDERHex() {
|
|
508
|
+
return C.hexFromSig(this);
|
|
509
|
+
}
|
|
510
|
+
// padded bytes of r, then padded bytes of s
|
|
511
|
+
toCompactRawBytes() {
|
|
512
|
+
return dt(this.toCompactHex());
|
|
513
|
+
}
|
|
514
|
+
toCompactHex() {
|
|
515
|
+
const n = S;
|
|
516
|
+
return ct(this.r, n) + ct(this.s, n);
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
const j = {
|
|
520
|
+
isValidPrivateKey(o) {
|
|
521
|
+
try {
|
|
522
|
+
return k(o), !0;
|
|
523
|
+
} catch {
|
|
524
|
+
return !1;
|
|
525
|
+
}
|
|
526
|
+
},
|
|
527
|
+
normPrivateKeyToScalar: k,
|
|
528
|
+
/**
|
|
529
|
+
* Produces cryptographically secure private key from random of size
|
|
530
|
+
* (groupLen + ceil(groupLen / 2)) with modulo bias being negligible.
|
|
531
|
+
*/
|
|
532
|
+
randomPrivateKey: () => {
|
|
533
|
+
const o = xt(r.n);
|
|
534
|
+
return St(r.randomBytes(o), r.n);
|
|
535
|
+
},
|
|
536
|
+
/**
|
|
537
|
+
* Creates precompute table for an arbitrary EC point. Makes point "cached".
|
|
538
|
+
* Allows to massively speed-up `point.multiply(scalar)`.
|
|
539
|
+
* @returns cached point
|
|
540
|
+
* @example
|
|
541
|
+
* const fast = utils.precompute(8, ProjectivePoint.fromHex(someonesPubKey));
|
|
542
|
+
* fast.multiply(privKey); // much faster ECDH now
|
|
543
|
+
*/
|
|
544
|
+
precompute(o = 8, n = O.BASE) {
|
|
545
|
+
return n._setWindowSize(o), n.multiply(BigInt(3)), n;
|
|
546
|
+
}
|
|
547
|
+
};
|
|
548
|
+
function w(o, n = !0) {
|
|
549
|
+
return O.fromPrivateKey(o).toRawBytes(n);
|
|
550
|
+
}
|
|
551
|
+
function e(o) {
|
|
552
|
+
if (typeof o == "bigint")
|
|
553
|
+
return !1;
|
|
554
|
+
if (o instanceof O)
|
|
555
|
+
return !0;
|
|
556
|
+
const s = F("key", o).length, h = t.BYTES, u = h + 1, f = 2 * h + 1;
|
|
557
|
+
if (!(r.allowedPrivateKeyLengths || S === u))
|
|
558
|
+
return s === u || s === f;
|
|
559
|
+
}
|
|
560
|
+
function i(o, n, s = !0) {
|
|
561
|
+
if (e(o) === !0)
|
|
562
|
+
throw new Error("first arg must be private key");
|
|
563
|
+
if (e(n) === !1)
|
|
564
|
+
throw new Error("second arg must be public key");
|
|
565
|
+
return O.fromHex(n).multiply(k(o)).toRawBytes(s);
|
|
566
|
+
}
|
|
567
|
+
const c = r.bits2int || function(o) {
|
|
568
|
+
if (o.length > 8192)
|
|
569
|
+
throw new Error("input is too large");
|
|
570
|
+
const n = _(o), s = o.length * 8 - N;
|
|
571
|
+
return s > 0 ? n >> BigInt(s) : n;
|
|
572
|
+
}, d = r.bits2int_modN || function(o) {
|
|
573
|
+
return x(c(o));
|
|
574
|
+
}, y = At(N);
|
|
575
|
+
function v(o) {
|
|
576
|
+
return W("num < 2^" + N, o, U, y), Et(o, S);
|
|
577
|
+
}
|
|
578
|
+
function E(o, n, s = a) {
|
|
579
|
+
if (["recovered", "canonical"].some((D) => D in s))
|
|
580
|
+
throw new Error("sign() legacy options not supported");
|
|
581
|
+
const { hash: h, randomBytes: u } = r;
|
|
582
|
+
let { lowS: f, prehash: B, extraEntropy: Z } = s;
|
|
583
|
+
f == null && (f = !0), o = F("msgHash", o), ht(s), B && (o = F("prehashed msgHash", h(o)));
|
|
584
|
+
const H = d(o), Y = k(n), z = [v(Y), v(H)];
|
|
585
|
+
if (Z != null && Z !== !1) {
|
|
586
|
+
const D = Z === !0 ? u(t.BYTES) : Z;
|
|
587
|
+
z.push(F("extraEntropy", D));
|
|
588
|
+
}
|
|
589
|
+
const P = lt(...z), I = H;
|
|
590
|
+
function it(D) {
|
|
591
|
+
const X = c(D);
|
|
592
|
+
if (!ot(X))
|
|
593
|
+
return;
|
|
594
|
+
const st = L(X), Q = O.BASE.multiply(X).toAffine(), K = x(Q.x);
|
|
595
|
+
if (K === U)
|
|
596
|
+
return;
|
|
597
|
+
const J = x(st * x(I + K * Y));
|
|
598
|
+
if (J === U)
|
|
599
|
+
return;
|
|
600
|
+
let $ = (Q.x === K ? 0 : 2) | Number(Q.y & R), M = J;
|
|
601
|
+
return f && G(J) && (M = g(J), $ ^= 1), new q(K, M, $);
|
|
602
|
+
}
|
|
603
|
+
return { seed: P, k2sig: it };
|
|
604
|
+
}
|
|
605
|
+
const a = { lowS: r.lowS, prehash: !1 }, p = { lowS: r.lowS, prehash: !1 };
|
|
606
|
+
function l(o, n, s = a) {
|
|
607
|
+
const { seed: h, k2sig: u } = E(o, n, s), f = r;
|
|
608
|
+
return Tt(f.hash.outputLen, f.nByteLength, f.hmac)(h, u);
|
|
609
|
+
}
|
|
610
|
+
O.BASE._setWindowSize(8);
|
|
611
|
+
function T(o, n, s, h = p) {
|
|
612
|
+
var $;
|
|
613
|
+
const u = o;
|
|
614
|
+
n = F("msgHash", n), s = F("publicKey", s);
|
|
615
|
+
const { lowS: f, prehash: B, format: Z } = h;
|
|
616
|
+
if (ht(h), "strict" in h)
|
|
617
|
+
throw new Error("options.strict was renamed to lowS");
|
|
618
|
+
if (Z !== void 0 && Z !== "compact" && Z !== "der")
|
|
619
|
+
throw new Error("format must be compact or der");
|
|
620
|
+
const H = typeof u == "string" || yt(u), Y = !H && !Z && typeof u == "object" && u !== null && typeof u.r == "bigint" && typeof u.s == "bigint";
|
|
621
|
+
if (!H && !Y)
|
|
622
|
+
throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");
|
|
623
|
+
let z, P;
|
|
624
|
+
try {
|
|
625
|
+
if (Y && (z = new q(u.r, u.s)), H) {
|
|
626
|
+
try {
|
|
627
|
+
Z !== "compact" && (z = q.fromDER(u));
|
|
628
|
+
} catch (M) {
|
|
629
|
+
if (!(M instanceof C.Err))
|
|
630
|
+
throw M;
|
|
631
|
+
}
|
|
632
|
+
!z && Z !== "der" && (z = q.fromCompact(u));
|
|
633
|
+
}
|
|
634
|
+
P = O.fromHex(s);
|
|
635
|
+
} catch {
|
|
636
|
+
return !1;
|
|
637
|
+
}
|
|
638
|
+
if (!z || f && z.hasHighS())
|
|
639
|
+
return !1;
|
|
640
|
+
B && (n = r.hash(n));
|
|
641
|
+
const { r: I, s: it } = z, D = d(n), X = L(it), st = x(D * X), Q = x(I * X), K = ($ = O.BASE.multiplyAndAddUnsafe(P, st, Q)) == null ? void 0 : $.toAffine();
|
|
642
|
+
return K ? x(K.x) === I : !1;
|
|
643
|
+
}
|
|
644
|
+
return {
|
|
645
|
+
CURVE: r,
|
|
646
|
+
getPublicKey: w,
|
|
647
|
+
getSharedSecret: i,
|
|
648
|
+
sign: l,
|
|
649
|
+
verify: T,
|
|
650
|
+
ProjectivePoint: O,
|
|
651
|
+
Signature: q,
|
|
652
|
+
utils: j
|
|
653
|
+
};
|
|
654
|
+
}
|
|
655
|
+
export {
|
|
656
|
+
C as DER,
|
|
657
|
+
zt as DERErr,
|
|
658
|
+
Ht as weierstrass,
|
|
659
|
+
qt as weierstrassPoints
|
|
660
|
+
};
|
package/dist/index38.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),n=require("@gardenfi/garden-book"),u=require("@gardenfi/orderbook"),s=require("framer-motion"),p=require("./index34.cjs"),w=require("./index64.cjs"),v=require("./index6.cjs"),x=require("./index65.cjs"),N=require("./index25.cjs"),y=({inputAsset:t,outputAsset:i,formattedRate:l,formattedTokenPrice:o,className:a=""})=>e.createElement("div",{className:"flex min-w-fit items-center gap-1"},e.createElement(n.Typography,{size:"h5",weight:"regular",className:`!text-nowrap ${a}`},"1 ",t==null?void 0:t.symbol," ≈"),e.createElement(n.Typography,{size:"h5",weight:"regular",className:`!text-nowrap ${a}`},l&&`${l} ${i==null?void 0:i.symbol}`,o&&`$${o}`)),S=()=>{const[t,i]=e.useState(!1),[,l]=e.useState(!1),o=e.useRef(null),{inputAsset:a,outputAsset:r,networkFees:E}=v.swapStore(),{solanaAddress:c,bitcoinAddress:m,evmAddress:d}=N.useAddresses(),f=e.useMemo(()=>p.formatAmount((a==null?void 0:a.price)??0,0,2),[a==null?void 0:a.price]),g=e.useMemo(()=>a?u.isBitcoin(a.chain)?m:u.isSolana(a.chain)?c:d:void 0,[a,m,c,d]),h=e.useMemo(()=>r?u.isBitcoin(r.chain)?m:u.isSolana(r.chain)?c:d:void 0,[r,m,c,d]);return e.createElement("div",{className:"flex flex-col rounded-2xl bg-white/50 pb-4 mt-3 transition-all duration-200"},e.createElement("div",{className:"flex w-full items-center justify-between rounded-2xl px-4 pt-4"},e.createElement("div",{className:"relative flex w-full items-center justify-start gap-1"},e.createElement(s.AnimatePresence,{mode:"wait"},t?e.createElement(s.motion.div,{key:"expanded",className:"w-fit",...w.delayedFadeAnimation},e.createElement("div",{className:"flex items-center gap-1"},e.createElement(n.Typography,{size:"h5",weight:"regular",className:"!text-mid-grey"},"Rate"),e.createElement("span",{ref:o,className:"inline-block cursor-pointer",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1)},e.createElement(n.InfoIcon,{className:"h-3 w-3 !fill-mid-grey"})))):e.createElement(s.motion.div,{key:"collapsed",className:"w-fit",...w.delayedFadeAnimation},e.createElement(y,{inputAsset:a,outputAsset:r,formattedTokenPrice:f,className:"!text-mid-grey"})))),e.createElement("div",{className:"flex w-full items-center justify-end gap-1"},e.createElement(s.AnimatePresence,{mode:"wait"},t?e.createElement(s.motion.div,{key:"expanded",className:"w-fit",...w.delayedFadeAnimation},e.createElement(y,{inputAsset:a,outputAsset:r,formattedTokenPrice:f})):e.createElement(s.motion.div,{key:"collapsed",className:"w-fit",...w.delayedFadeAnimation},e.createElement("div",{className:"flex min-w-fit items-center gap-1"},e.createElement(n.GasStationIcon,{className:"h-3 w-3"}),e.createElement(n.Typography,{size:"h5",weight:"regular",className:"!text-nowrap"},"Free"))))),e.createElement(s.motion.div,{initial:{width:0,scale:0,opacity:0},animate:{width:"auto",scale:1,opacity:1},exit:{width:0,scale:0,opacity:0},transition:{duration:.2,ease:"easeInOut"},className:"pl-1"},e.createElement(n.KeyboardDownIcon,{className:`h-4 w-4 cursor-pointer px-1 transition-transform duration-300 ${t?"rotate-180":""}`,onClick:()=>i(!t)}))),e.createElement(s.AnimatePresence,null,t&&e.createElement(x.SwapSavingsAndAddresses,{refundAddress:g,receiveAddress:h,showComparison:()=>{},networkFeesValue:Number(p.formatAmountUsd(E,0))})))};exports.FeesAndRateDetails=S;
|