Google Spreadsheet scripts for Coinbase and USD/BTC and USD/other currencies.
If you found this useful, donate XMR!: 44WvZj9zRXqgq3jHpemt8dLt29aDRQqdiK6ivxoCf3e65cdXbzBnHJyc2CdGWeGr36f5MBkqQBb61hus34nUVae4ND2PKx4
Made with love from Chile
| /* | |
| * Copyright 2025, Sergio Campamá All rights reserved. | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software |
| import UIKit | |
| class View: UIView { | |
| init() { | |
| super.init(frame: .zero) | |
| } | |
| @available(*, unavailable) | |
| required init?(coder: NSCoder) { | |
| fatalError("init(coder:) has not been implemented") |
| import UIKit | |
| class KPView: UIView { | |
| override init(frame: CGRect) { | |
| super.init(frame: frame) | |
| } | |
| @available(*, unavailable) | |
| required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } | |
| } |
| // swiftlint:disable line_length | |
| // swiftlint:disable variable_name | |
| import Foundation | |
| #if os(iOS) || os(tvOS) || os(watchOS) | |
| import UIKit | |
| #elseif os(OSX) | |
| import AppKit | |
| #endif |
| I0313 19:13:33.623240000 6164049920 chttp2_transport.cc:777] W:0x1128a5000 CLIENT [ipv6:%5B2800:3f0:4003:c08::5f%5D:443] state IDLE -> WRITING [TRANSPORT_FLOW_CONTROL] | |
| I0313 19:13:33.623335000 6164049920 chttp2_transport.cc:777] W:0x1128a5000 CLIENT [ipv6:%5B2800:3f0:4003:c08::5f%5D:443] state WRITING -> WRITING+MORE [INITIAL_WRITE] | |
| I0313 19:13:33.623497000 6164049920 chttp2_transport.cc:777] W:0x1128a5000 CLIENT [ipv6:%5B2800:3f0:4003:c08::5f%5D:443] state WRITING+MORE -> WRITING [begin write in current thread] | |
| I0313 19:13:33.623677000 6164049920 chttp2_transport.cc:777] W:0x1128a5000 CLIENT [ipv6:%5B2800:3f0:4003:c08::5f%5D:443] state WRITING -> IDLE [finish writing] | |
| I0313 19:13:33.628311000 6164049920 frame_settings.cc:232] CHTTP2:CLI:ipv6:%5B2800:3f0:4003:c08::5f%5D:443: got setting MAX_CONCURRENT_STREAMS = 100 | |
| I0313 19:13:33.628365000 6164049920 frame_settings.cc:225] 0x1128a5000[cli] adding 983041 for initial_window change | |
| I0313 19:13:33.62 |
| #!/bin/bash -eu | |
| if [[ $# -ne 2 ]]; then | |
| echo "usage: mac-release semversion channel" | |
| exit 1 | |
| fi | |
| TOOLS_DIR="$(dirname $(realpath $0))" | |
| PROJECT_DIR="$(dirname $TOOLS_DIR)" |
| @functions_framework.http | |
| def main(request): | |
| if "X-Hub-Signature-256" not in request.headers: | |
| return "nok", 401 | |
| signature = hmac.new( | |
| WHATSAPP_API_APP_SECRET.encode("utf-8"), | |
| msg=request.get_data(as_text=True).encode("utf-8"), | |
| digestmod=hashlib.sha256 | |
| ).hexdigest() |
| <html> | |
| <body> | |
| <script type="module"> | |
| import { initializeApp } from "https://www.gstatic.com/firebasejs/9.9.1/firebase-app.js"; | |
| import { OAuthProvider, getAuth, signInWithRedirect, getRedirectResult } from 'https://www.gstatic.com/firebasejs/9.9.1/firebase-auth.js' | |
| import { getFunctions, httpsCallable } from 'https://www.gstatic.com/firebasejs/9.9.1/firebase-functions.js' | |
| const params = new Proxy(new URLSearchParams(window.location.search), { | |
| get: (searchParams, prop) => searchParams.get(prop), | |
| }); |
| #!/usr/bin/env bash | |
| function confirm { | |
| if [[ $FORCE == 1 ]]; then | |
| return 0 | |
| fi | |
| local ok | |
| read -r ok |