arc-builder-kit 0.2.0__py3-none-any.whl
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.
- arc_builder_kit/__init__.py +4 -0
- arc_builder_kit/__main__.py +6 -0
- arc_builder_kit/_paths.py +47 -0
- arc_builder_kit/cli.py +277 -0
- arc_builder_kit/config/arc_testnet.facts.json +31 -0
- arc_builder_kit/doctor.py +936 -0
- arc_builder_kit/examples/agent-commerce-components/components.js +200 -0
- arc_builder_kit/examples/agent-commerce-components/index.html +120 -0
- arc_builder_kit/examples/agent-commerce-flows/flows.js +271 -0
- arc_builder_kit/examples/agent-commerce-flows/index.html +114 -0
- arc_builder_kit/examples/agent-commerce-live/commerce-live.js +190 -0
- arc_builder_kit/examples/agent-commerce-live/index.html +105 -0
- arc_builder_kit/examples/agent-commerce-review-packet/index.html +96 -0
- arc_builder_kit/examples/agent-commerce-review-packet/packet.js +125 -0
- arc_builder_kit/examples/agent-identity-profile-preview/identity.js +126 -0
- arc_builder_kit/examples/agent-identity-profile-preview/index.html +104 -0
- arc_builder_kit/examples/arc-agent-treasury-lab/index.html +152 -0
- arc_builder_kit/examples/arc-agent-treasury-lab/treasury.js +532 -0
- arc_builder_kit/examples/arc-testnet-operator-evidence/evidence.example.json +47 -0
- arc_builder_kit/examples/arc-testnet-wallet-send-gate/index.html +233 -0
- arc_builder_kit/examples/arc-testnet-wallet-send-gate/live-infrastructure-policy.example.json +59 -0
- arc_builder_kit/examples/arc-testnet-wallet-send-gate/wallet-send-gate.js +472 -0
- arc_builder_kit/examples/circle-wallet-integration/index.html +155 -0
- arc_builder_kit/examples/circle-wallet-integration/wallet-lab.js +91 -0
- arc_builder_kit/examples/job-escrow-simulator/index.html +121 -0
- arc_builder_kit/examples/job-escrow-simulator/simulator.js +162 -0
- arc_builder_kit/examples/payment-intent-demo/index.html +132 -0
- arc_builder_kit/examples/payment-intent-playground/index.html +301 -0
- arc_builder_kit/examples/payment-intent-playground/playground.js +835 -0
- arc_builder_kit/examples/payment-intent-receipt-matcher/index.html +157 -0
- arc_builder_kit/examples/payment-intent-receipt-matcher/matcher.js +877 -0
- arc_builder_kit/examples/receipt-verifier-playground/index.html +120 -0
- arc_builder_kit/examples/receipt-verifier-playground/verifier.js +226 -0
- arc_builder_kit/examples/receipt-viewer/index.html +138 -0
- arc_builder_kit/examples/receipt-viewer/receipt-viewer.js +472 -0
- arc_builder_kit/examples/transaction-status-playground/index.html +135 -0
- arc_builder_kit/examples/transaction-status-playground/status.js +518 -0
- arc_builder_kit/examples/x402-local-challenge-server/.env.example +25 -0
- arc_builder_kit/examples/x402-local-challenge-server/README.md +111 -0
- arc_builder_kit/examples/x402-local-challenge-server/server.py +711 -0
- arc_builder_kit/mcp_server.py +463 -0
- arc_builder_kit/release_packet.py +469 -0
- arc_builder_kit/templates/README.md +25 -0
- arc_builder_kit/templates/job-escrow-starter/README.md +25 -0
- arc_builder_kit/templates/job-escrow-starter/index.html +41 -0
- arc_builder_kit/templates/job-escrow-starter/index.js +14 -0
- arc_builder_kit/templates/payment-intent-starter/README.md +25 -0
- arc_builder_kit/templates/payment-intent-starter/index.html +42 -0
- arc_builder_kit/templates/payment-intent-starter/index.js +7 -0
- arc_builder_kit/templates/x402-agent-starter/README.md +29 -0
- arc_builder_kit/templates/x402-agent-starter/server.py +201 -0
- arc_builder_kit/validate_repo.py +2212 -0
- arc_builder_kit-0.2.0.dist-info/METADATA +543 -0
- arc_builder_kit-0.2.0.dist-info/RECORD +58 -0
- arc_builder_kit-0.2.0.dist-info/WHEEL +5 -0
- arc_builder_kit-0.2.0.dist-info/entry_points.txt +3 -0
- arc_builder_kit-0.2.0.dist-info/licenses/LICENSE +21 -0
- arc_builder_kit-0.2.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Arc Testnet Wallet Send Gate | Arc MCP Builder Assistant</title>
|
|
7
|
+
<meta name="description" content="Disabled-by-default Arc Testnet browser-wallet send gate with frozen USDC payload review, explicit human confirmation, and one-attempt transaction broadcast." />
|
|
8
|
+
<meta name="author" content="Arc MCP Builder Assistant contributors" />
|
|
9
|
+
<meta name="robots" content="noindex,nofollow" />
|
|
10
|
+
<meta name="theme-color" content="#101417" />
|
|
11
|
+
<meta name="color-scheme" content="dark" />
|
|
12
|
+
<meta name="referrer" content="no-referrer" />
|
|
13
|
+
<meta http-equiv="X-Content-Type-Options" content="nosniff" />
|
|
14
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; connect-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; object-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; upgrade-insecure-requests" />
|
|
15
|
+
<link rel="canonical" href="https://anstrays.github.io/arc-mcp-builder-assistant/examples/arc-testnet-wallet-send-gate/" />
|
|
16
|
+
<style>
|
|
17
|
+
:root {
|
|
18
|
+
color-scheme: dark;
|
|
19
|
+
--bg: #101417;
|
|
20
|
+
--surface: #171d21;
|
|
21
|
+
--surface-2: #20282d;
|
|
22
|
+
--line: #364249;
|
|
23
|
+
--text: #f4f7f5;
|
|
24
|
+
--muted: #b5c0bb;
|
|
25
|
+
--soft: #87948e;
|
|
26
|
+
--green: #63e6a6;
|
|
27
|
+
--cyan: #67d9e8;
|
|
28
|
+
--amber: #f2c66d;
|
|
29
|
+
--red: #ff8f8f;
|
|
30
|
+
font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif;
|
|
31
|
+
}
|
|
32
|
+
* { box-sizing: border-box; }
|
|
33
|
+
[hidden] { display: none !important; }
|
|
34
|
+
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); }
|
|
35
|
+
a { color: var(--cyan); text-underline-offset: 3px; }
|
|
36
|
+
button, input, textarea { font: inherit; }
|
|
37
|
+
button:focus-visible, input:focus-visible, textarea:focus-visible, a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
|
|
38
|
+
button { min-height: 42px; border: 1px solid var(--line); border-radius: 6px; padding: 10px 14px; background: var(--text); color: #101417; font-weight: 800; cursor: pointer; }
|
|
39
|
+
button.secondary { background: var(--surface-2); color: var(--text); }
|
|
40
|
+
button.danger { background: #512b2e; border-color: #925055; color: #fff1f1; }
|
|
41
|
+
button:disabled { cursor: not-allowed; opacity: .38; }
|
|
42
|
+
input, textarea { width: 100%; border: 1px solid var(--line); border-radius: 6px; background: #0d1113; color: var(--text); padding: 11px 12px; }
|
|
43
|
+
textarea { min-height: 78px; resize: vertical; }
|
|
44
|
+
input[type="checkbox"] { width: 18px; height: 18px; padding: 0; accent-color: var(--green); }
|
|
45
|
+
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
|
|
46
|
+
.shell { width: min(1220px, calc(100vw - 28px)); margin: 0 auto; padding: 22px 0 40px; }
|
|
47
|
+
.topbar { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
|
|
48
|
+
.topbar strong { font-size: 15px; }
|
|
49
|
+
.status { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; color: var(--muted); font-size: 13px; font-weight: 800; }
|
|
50
|
+
.status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--soft); }
|
|
51
|
+
.status.pass::before { background: var(--green); }
|
|
52
|
+
.status.warn::before { background: var(--amber); }
|
|
53
|
+
.status.fail::before { background: var(--red); }
|
|
54
|
+
.intro { padding: 34px 0 22px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 22px; align-items: end; }
|
|
55
|
+
.eyebrow { color: var(--green); text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 900; }
|
|
56
|
+
h1 { max-width: 780px; margin: 8px 0 12px; font-size: clamp(34px, 6vw, 68px); line-height: 1; letter-spacing: 0; }
|
|
57
|
+
h2 { margin: 5px 0 10px; font-size: 21px; letter-spacing: 0; }
|
|
58
|
+
h3 { margin: 0 0 8px; font-size: 15px; letter-spacing: 0; }
|
|
59
|
+
p { margin: 0; color: var(--muted); line-height: 1.6; }
|
|
60
|
+
.warning { border-left: 4px solid var(--amber); background: #262319; padding: 15px 16px; }
|
|
61
|
+
.warning strong { display: block; margin-bottom: 5px; color: #ffe5ac; }
|
|
62
|
+
.layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr); gap: 18px; align-items: start; }
|
|
63
|
+
.stack { display: grid; gap: 14px; min-width: 0; }
|
|
64
|
+
.panel { min-width: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); padding: 18px; }
|
|
65
|
+
.panel.danger-panel { border-color: #704348; }
|
|
66
|
+
.panel.pass-panel { border-color: #39765a; }
|
|
67
|
+
.panel-head { display: flex; justify-content: space-between; gap: 12px; align-items: start; margin-bottom: 14px; }
|
|
68
|
+
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
|
|
69
|
+
.field { min-width: 0; }
|
|
70
|
+
.field.full { grid-column: 1 / -1; }
|
|
71
|
+
label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 13px; font-weight: 800; }
|
|
72
|
+
.check-row { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 9px; align-items: start; color: var(--muted); line-height: 1.5; }
|
|
73
|
+
.check-row label { margin: 0; }
|
|
74
|
+
.actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
|
|
75
|
+
.facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
|
|
76
|
+
.fact { min-width: 0; padding: 11px; background: var(--surface-2); }
|
|
77
|
+
.fact span { display: block; color: var(--soft); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
|
|
78
|
+
.fact strong { display: block; margin-top: 5px; overflow-wrap: anywhere; font-size: 13px; }
|
|
79
|
+
.guard-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; }
|
|
80
|
+
.guard-list li { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 8px; color: var(--muted); font-size: 13px; line-height: 1.45; }
|
|
81
|
+
.guard-list strong { color: var(--amber); }
|
|
82
|
+
.guard-list .pass { color: var(--green); }
|
|
83
|
+
.guard-list .fail { color: var(--red); }
|
|
84
|
+
.output { margin: 10px 0 0; min-height: 110px; max-height: 330px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; border: 1px solid var(--line); border-radius: 6px; background: #0d1113; color: #d9e6df; padding: 12px; font-size: 12px; line-height: 1.55; }
|
|
85
|
+
.method-log { margin: 8px 0 0; padding-left: 20px; color: var(--muted); font-size: 13px; line-height: 1.6; }
|
|
86
|
+
.method-log code { color: var(--cyan); }
|
|
87
|
+
.submitted-link { display: inline-block; margin-top: 10px; overflow-wrap: anywhere; }
|
|
88
|
+
.footnote { margin-top: 18px; color: var(--soft); font-size: 12px; line-height: 1.6; }
|
|
89
|
+
@media (max-width: 900px) { .intro, .layout { grid-template-columns: minmax(0, 1fr); } }
|
|
90
|
+
@media (max-width: 620px) { .shell { width: min(100% - 20px, 1220px); padding-top: 12px; } .topbar, .panel-head { align-items: stretch; flex-direction: column; } .field-grid, .facts { grid-template-columns: minmax(0, 1fr); } h1 { font-size: 36px; } }
|
|
91
|
+
@media (prefers-reduced-motion: reduce) { * { animation-duration: 0s !important; transition: none !important; } }
|
|
92
|
+
</style>
|
|
93
|
+
<script src="./wallet-send-gate.js" integrity="sha384-JbqsIjZYwC20XbCS5YMMSYEi7ZEPGB1ow14Um8yby2dQ43AjSSvVmAUWw3heQ6vZ" crossorigin="anonymous" defer></script>
|
|
94
|
+
</head>
|
|
95
|
+
<body>
|
|
96
|
+
<main class="shell">
|
|
97
|
+
<header class="topbar">
|
|
98
|
+
<strong>Arc MCP Builder Assistant / guarded write surface</strong>
|
|
99
|
+
<a href="../../index.html">Back to builder kit</a>
|
|
100
|
+
</header>
|
|
101
|
+
|
|
102
|
+
<section class="intro" aria-labelledby="page-title">
|
|
103
|
+
<div>
|
|
104
|
+
<div class="eyebrow">Arc Testnet only / human operated</div>
|
|
105
|
+
<h1 id="page-title">Arc Testnet Wallet Send Gate</h1>
|
|
106
|
+
<p>A narrow browser-wallet adapter for manually submitting one reviewed USDC transfer. Disabled by default, non-custodial, and isolated from the local-only payment playground.</p>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="warning">
|
|
109
|
+
<strong>Testnet assets can still be lost.</strong>
|
|
110
|
+
<p>No custody. No private keys. No autonomous spending. No mainnet fallback. The wallet confirmation dialog is the only signing path.</p>
|
|
111
|
+
</div>
|
|
112
|
+
</section>
|
|
113
|
+
|
|
114
|
+
<section class="layout" aria-label="Guarded wallet send workspace">
|
|
115
|
+
<div class="stack">
|
|
116
|
+
<article class="panel danger-panel" aria-labelledby="enable-title">
|
|
117
|
+
<div class="panel-head">
|
|
118
|
+
<div><div class="eyebrow">Gate 1</div><h2 id="enable-title">Explicitly enable reviewed testnet mode</h2></div>
|
|
119
|
+
<span id="feature-gate-status" class="status fail">disabled</span>
|
|
120
|
+
</div>
|
|
121
|
+
<p>The exact query gate <code>?enableArcTestnetSend=reviewed-testnet-only</code> must be present, and this page must be open as a top-level tab rather than inside an embedded frame. Neither condition connects a wallet or authorizes a transaction.</p>
|
|
122
|
+
<div class="check-row" style="margin-top: 13px;">
|
|
123
|
+
<input id="risk-acknowledgement" type="checkbox" />
|
|
124
|
+
<label for="risk-acknowledgement">I understand this page can open my browser wallet and request one Arc Testnet USDC transaction after every guard passes.</label>
|
|
125
|
+
</div>
|
|
126
|
+
</article>
|
|
127
|
+
|
|
128
|
+
<article class="panel" aria-labelledby="wallet-title">
|
|
129
|
+
<div class="panel-head">
|
|
130
|
+
<div><div class="eyebrow">Gate 2</div><h2 id="wallet-title">Connect and prove Arc Testnet</h2></div>
|
|
131
|
+
<span id="wallet-status" class="status">not connected</span>
|
|
132
|
+
</div>
|
|
133
|
+
<div class="facts">
|
|
134
|
+
<div class="fact"><span>Provider</span><strong id="provider-state">checking</strong></div>
|
|
135
|
+
<div class="fact"><span>Connected account</span><strong id="account-state">not requested</strong></div>
|
|
136
|
+
<div class="fact"><span>Observed chain</span><strong id="chain-state">not requested</strong></div>
|
|
137
|
+
<div class="fact"><span>Required chain</span><strong>5042002 / 0x4cef52</strong></div>
|
|
138
|
+
</div>
|
|
139
|
+
<div class="actions">
|
|
140
|
+
<button type="button" id="connect-wallet">Connect injected wallet</button>
|
|
141
|
+
<button type="button" id="switch-network" class="secondary">Switch or add Arc Testnet</button>
|
|
142
|
+
</div>
|
|
143
|
+
</article>
|
|
144
|
+
|
|
145
|
+
<article class="panel" aria-labelledby="intent-title">
|
|
146
|
+
<div class="panel-head">
|
|
147
|
+
<div><div class="eyebrow">Gate 3</div><h2 id="intent-title">Freeze exact USDC intent</h2></div>
|
|
148
|
+
<span id="intent-status" class="status">editable</span>
|
|
149
|
+
</div>
|
|
150
|
+
<div class="field-grid">
|
|
151
|
+
<div class="field full">
|
|
152
|
+
<label for="recipient">Recipient address</label>
|
|
153
|
+
<input id="recipient" autocomplete="off" spellcheck="false" placeholder="0x..." />
|
|
154
|
+
</div>
|
|
155
|
+
<div class="field">
|
|
156
|
+
<label for="amount">USDC amount, maximum 1.00</label>
|
|
157
|
+
<input id="amount" inputmode="decimal" autocomplete="off" value="0.01" />
|
|
158
|
+
</div>
|
|
159
|
+
<div class="field">
|
|
160
|
+
<label for="expiry">Intent expiry</label>
|
|
161
|
+
<input id="expiry" type="datetime-local" />
|
|
162
|
+
</div>
|
|
163
|
+
<div class="field full">
|
|
164
|
+
<label for="memo">Visible memo</label>
|
|
165
|
+
<textarea id="memo" maxlength="180">Manual Arc Testnet builder-kit transfer</textarea>
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
<div class="actions">
|
|
169
|
+
<button type="button" id="freeze-intent" class="secondary">Freeze and review payload</button>
|
|
170
|
+
</div>
|
|
171
|
+
<pre id="frozen-payload" class="output" aria-live="polite">No intent frozen.</pre>
|
|
172
|
+
</article>
|
|
173
|
+
|
|
174
|
+
<article class="panel danger-panel" aria-labelledby="send-title">
|
|
175
|
+
<div class="panel-head">
|
|
176
|
+
<div><div class="eyebrow">Gate 4</div><h2 id="send-title">Final human confirmation</h2></div>
|
|
177
|
+
<span id="send-status" class="status fail">blocked</span>
|
|
178
|
+
</div>
|
|
179
|
+
<p>Type <code>SEND ARC TESTNET USDC</code>, check the final box, then review the external wallet dialog. One attempt per page load. No automatic retry.</p>
|
|
180
|
+
<div class="field-grid" style="margin-top: 13px;">
|
|
181
|
+
<div class="field full">
|
|
182
|
+
<label for="confirmation-phrase">Exact confirmation phrase</label>
|
|
183
|
+
<input id="confirmation-phrase" autocomplete="off" spellcheck="false" />
|
|
184
|
+
</div>
|
|
185
|
+
<div class="field full check-row">
|
|
186
|
+
<input id="final-send-confirmation" type="checkbox" />
|
|
187
|
+
<label for="final-send-confirmation">I re-checked chain, account, token target, recipient, amount, calldata, memo, and expiry.</label>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
<div class="actions">
|
|
191
|
+
<button type="button" id="send-transaction" class="danger">Request one wallet transaction</button>
|
|
192
|
+
</div>
|
|
193
|
+
<p id="send-result" class="footnote" aria-live="polite">No transaction request has been made.</p>
|
|
194
|
+
<a id="transaction-link" class="submitted-link" hidden target="_blank" rel="noopener noreferrer">View submitted transaction on ArcScan</a>
|
|
195
|
+
</article>
|
|
196
|
+
</div>
|
|
197
|
+
|
|
198
|
+
<aside class="stack">
|
|
199
|
+
<section class="panel pass-panel" aria-labelledby="network-title">
|
|
200
|
+
<div class="eyebrow">Pinned configuration</div>
|
|
201
|
+
<h2 id="network-title">No chain or asset selector</h2>
|
|
202
|
+
<div class="facts">
|
|
203
|
+
<div class="fact"><span>Network</span><strong>Arc Testnet</strong></div>
|
|
204
|
+
<div class="fact"><span>Native gas</span><strong>USDC / 18 decimals</strong></div>
|
|
205
|
+
<div class="fact"><span>Transfer asset</span><strong>USDC / 6 decimals</strong></div>
|
|
206
|
+
<div class="fact"><span>Token target</span><strong>0x3600000000000000000000000000000000000000</strong></div>
|
|
207
|
+
</div>
|
|
208
|
+
</section>
|
|
209
|
+
|
|
210
|
+
<section class="panel" aria-labelledby="guards-title">
|
|
211
|
+
<div class="eyebrow">Live preflight</div>
|
|
212
|
+
<h2 id="guards-title">Fail-closed guard report</h2>
|
|
213
|
+
<ul id="guard-list" class="guard-list" aria-live="polite"></ul>
|
|
214
|
+
</section>
|
|
215
|
+
|
|
216
|
+
<section class="panel" aria-labelledby="methods-title">
|
|
217
|
+
<div class="eyebrow">Request spy</div>
|
|
218
|
+
<h2 id="methods-title">Wallet method names only</h2>
|
|
219
|
+
<p>Parameters, proofs, authorization data, and wallet internals are never rendered or logged by this page.</p>
|
|
220
|
+
<ol id="method-log" class="method-log" aria-live="polite"><li>No wallet methods requested.</li></ol>
|
|
221
|
+
</section>
|
|
222
|
+
|
|
223
|
+
<section class="panel" aria-labelledby="boundary-title">
|
|
224
|
+
<div class="eyebrow">Boundary</div>
|
|
225
|
+
<h2 id="boundary-title">Signing, custody, and broadcast</h2>
|
|
226
|
+
<p>The page builds deterministic ERC-20 calldata and asks the injected wallet to handle approval, signing, and submission. It never receives keys and never claims that a returned hash is confirmed.</p>
|
|
227
|
+
<p class="footnote">Read the <a href="../../docs/view.html#guarded-wallet-send-runbook.md">operator runbook</a> and <a href="../../docs/view.html#custody-and-mainnet-gates.md">custody/mainnet gates</a> before extending this surface.</p>
|
|
228
|
+
</section>
|
|
229
|
+
</aside>
|
|
230
|
+
</section>
|
|
231
|
+
</main>
|
|
232
|
+
</body>
|
|
233
|
+
</html>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"scope": "arc-live-infrastructure-gates",
|
|
4
|
+
"activeProfile": "arc-testnet-injected-wallet",
|
|
5
|
+
"profiles": {
|
|
6
|
+
"arcTestnet": {
|
|
7
|
+
"enabled": true,
|
|
8
|
+
"network": "Arc Testnet",
|
|
9
|
+
"chainId": 5042002,
|
|
10
|
+
"chainIdHex": "0x4cef52",
|
|
11
|
+
"rpcUrl": "https://rpc.testnet.arc.network",
|
|
12
|
+
"explorerUrl": "https://testnet.arcscan.app",
|
|
13
|
+
"asset": {
|
|
14
|
+
"symbol": "USDC",
|
|
15
|
+
"tokenAddress": "0x3600000000000000000000000000000000000000",
|
|
16
|
+
"decimals": 6,
|
|
17
|
+
"maxBaseUnitsPerRequest": "1000000"
|
|
18
|
+
},
|
|
19
|
+
"signing": {
|
|
20
|
+
"mode": "external_wallet_confirmation_only",
|
|
21
|
+
"autonomous": false,
|
|
22
|
+
"rawPrivateKeysAccepted": false
|
|
23
|
+
},
|
|
24
|
+
"broadcast": {
|
|
25
|
+
"method": "eth_sendTransaction",
|
|
26
|
+
"transactionChainIdRequired": "0x4cef52",
|
|
27
|
+
"explicitHumanApprovalRequired": true,
|
|
28
|
+
"topLevelBrowsingContextRequired": true,
|
|
29
|
+
"zeroAddressAllowed": false,
|
|
30
|
+
"tokenContractRecipientAllowed": false,
|
|
31
|
+
"maxAttemptsPerPageLoad": 1,
|
|
32
|
+
"automaticRetry": false
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"arcMainnet": {
|
|
36
|
+
"enabled": false,
|
|
37
|
+
"status": "blocked_official_configuration_upcoming",
|
|
38
|
+
"chainId": null,
|
|
39
|
+
"chainIdHex": null,
|
|
40
|
+
"rpcUrl": null,
|
|
41
|
+
"explorerUrl": null
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"custody": {
|
|
45
|
+
"implemented": false,
|
|
46
|
+
"mode": "non-custodial",
|
|
47
|
+
"staticSiteMayHoldSecrets": false,
|
|
48
|
+
"requiredBeforeEnable": [
|
|
49
|
+
"owned_backend_or_reviewed_provider",
|
|
50
|
+
"secret_manager_hsm_or_mpc",
|
|
51
|
+
"chain_asset_method_and_address_allowlists",
|
|
52
|
+
"per_transaction_and_cumulative_limits",
|
|
53
|
+
"idempotency_replay_and_nonce_controls",
|
|
54
|
+
"immutable_redacted_audit_logs",
|
|
55
|
+
"kill_switch_and_incident_runbook",
|
|
56
|
+
"separate_security_review"
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
}
|