Diff
checker
文本
文本
圖像
文檔
Excel
文件夾
Legal
Enterprise
桌面版
定價
登入
下載 Diffchecker 桌面版
比較文本
尋找兩個文字檔案之間的差異
工具
歷史
顯示
檢視
拆分
統一
即時編輯器
隱藏空白變更
摺疊未變更行
關閉換行
比對精度
智能
語法
無
變更外觀
處理
忽略
文字轉換
前往第一個差異
編輯輸入
Diffchecker Desktop
執行Diffchecker最安全的方式。取得Diffchecker桌面應用程式:您的差異永遠不會離開您的電腦!
取得桌面版
IDL diff
建立於
3 年前
差異永不過期
清除
匯出
分享
解釋
436 刪除
行
總計
刪除
字符
總計
刪除
要繼續使用此功能,請升級到
Diff
checker
Pro
查看價格
755 行
全部複製
605 新增
行
總計
新增
字符
總計
新增
要繼續使用此功能,請升級到
Diff
checker
Pro
查看價格
900 行
全部複製
{
{
複製
已複製
複製
已複製
"address": "id11111111111111111111111111111111111111111",
"metadata": {
"name": "idl",
複製
已複製
複製
已複製
"version": "0.1.0",
"version": "0.1.0",
"
name
": "
idl"
,
"
description
": "
Created with Anchor"
}
,
"docs": [
"docs": [
"IDL test program documentation."
"IDL test program documentation."
],
],
複製
已複製
複製
已複製
"constants": [
Text moved to lines 894-897
{
"name": "U8",
"type": "u8",
"value": "6"
},
{
"name": "I128",
"type": "i128",
"value": "1_000_000"
},
{
Text moved to lines 885-887
"name": "BYTE_STR",
"type": "u8",
"value": "116"
},
{
Text moved to lines 880-882
"name": "BYTES_STR",
"type": "bytes",
"value": "[116, 101, 115, 116]"
}
],
"instructions": [
"instructions": [
複製
已複製
複製
已複製
{
"name": "cause_error",
"discriminator": [
67,
104,
37,
17,
2,
155,
68,
17
],
"accounts": [],
"args": []
},
{
{
"name": "initialize",
"name": "initialize",
複製
已複製
複製
已複製
"discriminator": [
175,
175,
109,
31,
13,
152,
155,
237
],
"accounts": [
"accounts": [
{
{
"name": "state",
"name": "state",
複製
已複製
複製
已複製
"isMut": true,
"isSigner": true,
"docs": [
"docs": [
"State account"
"State account"
複製
已複製
複製
已複製
]
]
,
"writable": true,
"signer": true
},
},
{
{
"name": "nested",
"name": "nested",
"accounts": [
"accounts": [
{
{
"name": "clock",
"name": "clock",
複製
已複製
複製
已複製
"isMut": false,
"isSigner": false,
"docs": [
"docs": [
"Sysvar clock"
"Sysvar clock"
複製
已複製
複製
已複製
]
]
,
"address": "SysvarC1ock11111111111111111111111111111111"
},
},
{
{
"name": "rent",
"name": "rent",
複製
已複製
複製
已複製
"
isMut": false,
"
address
":
"SysvarRent111111111111111111111111111111111"
"isSigner
":
false
}
}
]
]
},
},
{
{
複製
已複製
複製
已複製
"name": "zc
A
ccount"
,
"name": "zc
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "token
A
ccount"
,
"name": "token
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "mint
A
ccount"
,
"name": "mint
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "token
I
nterface
A
ccount"
,
"name": "token
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "mint
I
nterface
A
ccount"
,
"name": "mint
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
"name": "payer",
"name": "payer",
複製
已複製
複製
已複製
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
複製
已複製
複製
已複製
"name": "system
P
rogram",
"name": "system
_p
rogram",
"
isMut": false,
"
address
":
"11111111111111111111111111111111"
"isSigner
":
false
}
}
],
],
"args": []
"args": []
},
},
{
{
複製
已複製
複製
已複製
"name": "initialize
W
ith
V
alues",
"name": "initialize
_w
ith
_v
alues",
"docs": [
"docs": [
"Initializes an account with specified values"
"Initializes an account with specified values"
],
],
複製
已複製
複製
已複製
"discriminator": [
220,
73,
8,
213,
178,
69,
181,
141
],
"accounts": [
"accounts": [
{
{
"name": "state",
"name": "state",
複製
已複製
複製
已複製
"isMut": true,
"isSigner": true,
"docs": [
"docs": [
"State account"
"State account"
複製
已複製
複製
已複製
]
]
,
"writable": true,
"signer": true
},
},
{
{
"name": "nested",
"name": "nested",
"accounts": [
"accounts": [
{
{
"name": "clock",
"name": "clock",
複製
已複製
複製
已複製
"isMut": false,
"isSigner": false,
"docs": [
"docs": [
"Sysvar clock"
"Sysvar clock"
複製
已複製
複製
已複製
]
]
,
"address": "SysvarC1ock11111111111111111111111111111111"
},
},
{
{
"name": "rent",
"name": "rent",
複製
已複製
複製
已複製
"
isMut": false,
"
address
":
"SysvarRent111111111111111111111111111111111"
"isSigner
":
false
}
}
]
]
},
},
{
{
複製
已複製
複製
已複製
"name": "zc
A
ccount"
,
"name": "zc
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "token
A
ccount"
,
"name": "token
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "mint
A
ccount"
,
"name": "mint
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "token
I
nterface
A
ccount"
,
"name": "token
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
複製
已複製
複製
已複製
"name": "mint
I
nterface
A
ccount"
,
"name": "mint
_i
nterface
_a
ccount"
"isMut": false,
"isSigner": false
},
},
{
{
"name": "payer",
"name": "payer",
複製
已複製
複製
已複製
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
複製
已複製
複製
已複製
"name": "system
P
rogram",
"name": "system
_p
rogram",
"
isMut": false,
"
address
":
"11111111111111111111111111111111"
"isSigner
":
false
}
}
],
],
"args": [
"args": [
{
{
複製
已複製
複製
已複製
"name": "bool
F
ield",
"name": "bool
_f
ield",
"type": "bool"
"type": "bool"
},
},
{
{
複製
已複製
複製
已複製
"name": "u8
F
ield",
"name": "u8
_f
ield",
"type": "u8"
"type": "u8"
},
},
{
{
複製
已複製
複製
已複製
"name": "i8
F
ield",
"name": "i8
_f
ield",
"type": "i8"
"type": "i8"
},
},
{
{
複製
已複製
複製
已複製
"name": "u16
F
ield",
"name": "u16
_f
ield",
"type": "u16"
"type": "u16"
},
},
{
{
複製
已複製
複製
已複製
"name": "i16
F
ield",
"name": "i16
_f
ield",
"type": "i16"
"type": "i16"
},
},
{
{
複製
已複製
複製
已複製
"name": "u32
F
ield",
"name": "u32
_f
ield",
"type": "u32"
"type": "u32"
},
},
{
{
複製
已複製
複製
已複製
"name": "i32
F
ield",
"name": "i32
_f
ield",
"type": "i32"
"type": "i32"
},
},
{
{
複製
已複製
複製
已複製
"name": "f32
F
ield",
"name": "f32
_f
ield",
"type": "f32"
"type": "f32"
},
},
{
{
複製
已複製
複製
已複製
"name": "u64
F
ield",
"name": "u64
_f
ield",
"type": "u64"
"type": "u64"
},
},
{
{
複製
已複製
複製
已複製
"name": "i64
F
ield",
"name": "i64
_f
ield",
"type": "i64"
"type": "i64"
},
},
{
{
複製
已複製
複製
已複製
"name": "f64
F
ield",
"name": "f64
_f
ield",
"type": "f64"
"type": "f64"
},
},
{
{
複製
已複製
複製
已複製
"name": "u128
F
ield",
"name": "u128
_f
ield",
"type": "u128"
"type": "u128"
},
},
{
{
複製
已複製
複製
已複製
"name": "i128
F
ield",
"name": "i128
_f
ield",
"type": "i128"
"type": "i128"
},
},
{
{
複製
已複製
複製
已複製
"name": "bytes
F
ield",
"name": "bytes
_f
ield",
"type": "bytes"
"type": "bytes"
},
},
{
{
複製
已複製
複製
已複製
"name": "string
F
ield",
"name": "string
_f
ield",
"type": "string"
"type": "string"
},
},
{
{
複製
已複製
複製
已複製
"name": "pubkey
F
ield",
"name": "pubkey
_f
ield",
"type": "pub
licK
ey"
"type": "pub
k
ey"
},
},
{
{
複製
已複製
複製
已複製
"name": "vec
F
ield",
"name": "vec
_f
ield",
"type": {
"type": {
"vec": "u64"
"vec": "u64"
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "vec
S
truct
F
ield",
"name": "vec
_s
truct
_f
ield",
"type": {
"type": {
"vec": {
"vec": {
複製
已複製
複製
已複製
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "option
F
ield",
"name": "option
_f
ield",
"type": {
"type": {
"option": "bool"
"option": "bool"
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "option
S
truct
F
ield",
"name": "option
_s
truct
_f
ield",
"type": {
"type": {
"option": {
"option": {
複製
已複製
複製
已複製
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "struct
F
ield",
"name": "struct
_f
ield",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooStruct"
"defined"
: {
"name"
: "FooStruct"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "array
F
ield",
"name": "array
_f
ield",
"type": {
"type": {
"array": [
"array": [
"bool",
"bool",
3
3
]
]
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
1",
"name": "enum
_f
ield
_
1",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
2",
"name": "enum
_f
ield
_
2",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
3",
"name": "enum
_f
ield
_
3",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield
4",
"name": "enum
_f
ield
_
4",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
}
}
]
]
},
},
{
{
複製
已複製
複製
已複製
"name": "initialize
W
ith
V
alues2",
"name": "initialize
_w
ith
_v
alues2",
"docs": [
"docs": [
"a separate instruction due to initialize_with_values having too many arguments",
"a separate instruction due to initialize_with_values having too many arguments",
"https://github.com/solana-labs/solana/issues/23978"
"https://github.com/solana-labs/solana/issues/23978"
],
],
複製
已複製
複製
已複製
"discriminator": [
248,
190,
21,
97,
239,
148,
39,
181
],
"accounts": [
"accounts": [
{
{
"name": "state",
"name": "state",
複製
已複製
複製
已複製
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
"name": "payer",
"name": "payer",
複製
已複製
複製
已複製
"
isMut
": true,
"
writable
": true,
"
isS
igner": true
"
s
igner": true
},
},
{
{
複製
已複製
複製
已複製
"name": "system
P
rogram",
"name": "system
_p
rogram",
"
isMut": false,
"
address
":
"11111111111111111111111111111111"
"isSigner
":
false
}
}
],
],
"args": [
"args": [
{
{
複製
已複製
複製
已複製
"name": "vec
OfO
ption",
"name": "vec
_of_o
ption",
"type": {
"type": {
"vec": {
"vec": {
"option": "u64"
"option": "u64"
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "box
F
ield",
"name": "box
_f
ield",
"type": "bool"
"type": "bool"
}
}
],
],
"returns": {
"returns": {
複製
已複製
複製
已複製
"defined"
: "SomeRetStruct"
"defined"
: {
"name"
: "SomeRetStruct"
}
}
}
複製
已複製
複製
已複製
},
{
"name": "causeError",
"accounts": [],
"args": []
}
}
],
],
"accounts": [
"accounts": [
複製
已複製
複製
已複製
{
"name": "SomeZcAccount",
"discriminator": [
56,
72,
82,
194,
210,
35,
17,
191
]
},
{
{
"name": "State",
"name": "State",
複製
已複製
複製
已複製
"discriminator": [
216,
146,
107,
94,
104,
75,
182,
177
Text moved with changes from lines 646-649 (66.7% similarity)
]
},
{
"name": "State2",
"discriminator": [
106,
97,
255,
161,
250,
205,
185,
192
]
Text moved from lines 711-713
}
],
"events": [
{
"name": "SomeEvent",
"discriminator": [
39,
221,
150,
148,
91,
206,
29,
93
]
}
],
"errors": [
{
Text moved from lines 741-743
"code": 6000,
"name": "SomeError",
"msg": "Example error."
},
{
Text moved from lines 746-748
"code": 6001,
"name": "OtherError",
"msg": "Another error."
},
{
"code": 6002,
"name": "ErrorWithoutMsg"
Text moved from lines 525-527
}
],
"types": [
{
"name": "BarStruct",
"docs": [
"docs": [
複製
已複製
複製
已複製
"
An account containing various fields
"
"
Bar struct type
"
],
],
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
複製
已複製
複製
已複製
"name": "
boolField
",
"name": "
some_field
",
"docs": [
"docs": [
複製
已複製
複製
已複製
"
A boolean
field"
"
Some
field"
],
],
"type": "bool"
"type": "bool"
},
},
{
{
複製
已複製
複製
已複製
"name": "
u8F
ield",
"name": "
other_f
ield",
"type": "u8"
"type": "u8"
複製
已複製
複製
已複製
},
}
{
]
Text moved with changes to lines 678-734 (98.6% similarity)
"name": "i8Field",
"type": "i8"
},
{
"name": "u16Field",
"type": "u16"
},
{
"name": "i16Field",
"type": "i16"
},
{
"name": "u32Field",
"type": "u32"
},
{
"name": "i32Field",
"type": "i32"
},
{
"name": "f32Field",
"type": "f32"
},
{
"name": "u64Field",
"type": "u64"
},
{
"name": "i64Field",
"type": "i64"
},
{
"name": "f64Field",
"type": "f64"
},
{
"name": "u128Field",
"type": "u128"
},
{
"name": "i128Field",
"type": "i128"
},
{
"name": "bytesField",
"type": "bytes"
},
{
"name": "stringField",
"type": "string"
},
{
"name": "pubkeyField",
"type": "publicKey"
},
{
"name": "vecField",
"type": {
"vec": "u64"
}
}
},
},
{
{
Text moved from lines 631-634
"name": "
vecStructField"
,
"name": "
FooEnum",
"docs": [
"Enum type"
]
,
"type": {
"type": {
Text moved from lines 636-639
"vec": {
"kind": "enum",
"defined":
"Foo
Struct"
"variants": [
{
"name": "Unnamed",
"fields": [
"bool",
"u8",
{
"defined":
{
"name": "Bar
Struct"
}
}
}
}
複製
已複製
複製
已複製
]
},
},
{
{
複製
已複製
複製
已複製
Text moved with changes to lines 750-754 (99.1% similarity)
"name": "
optionField
",
"name": "
UnnamedSingle
",
"
type": {
"
fields
":
[
"option
":
"bool"
}
},
{
{
"name": "optionStructField",
"defined":
{
"type": {
"name": "Bar
Struct"
"option": {
"defined":
"Foo
Struct"
}
}
}
}
複製
已複製
複製
已複製
},
{
"name": "structField",
"type": {
"defined": "FooStruct"
Text moved with changes to lines 771-778 (99.4% similarity)
}
},
{
"name": "arrayField",
"type": {
"array": [
"bool",
3
複製
已複製
複製
已複製
]
]
複製
已複製
複製
已複製
}
},
},
{
{
複製
已複製
複製
已複製
"name": "
enumField1
",
"name": "
Named
",
"
type": {
"
fields
":
[
"defined
":
"FooEnum"
}
},
{
{
"name": "
enumField2
",
"name": "
bool_field
",
"
type
":
{
"
docs
":
[
"
defined": "FooEnum
"
"
A bool field inside a struct tuple kind
"
}
],
"type": "bool"
},
},
{
{
"name": "
enumField3
",
"name": "
u8_field
",
"type":
{
"type":
"u8"
"defined": "FooEnum"
}
},
},
{
{
"name": "
enumField4
",
"name": "
nested
",
"type": {
"type": {
"defined":
"FooEnum"
"defined":
{
"name": "BarStruct"
}
}
}
}
}
]
]
複製
已複製
複製
已複製
}
複製
已複製
複製
已複製
},
},
{
{
Text moved to lines 818-820
"name": "
State2",
"name": "
Struct
",
"type": {
"kind": "struct
",
"fields": [
"fields": [
{
{
"name": "vecOfOption",
"defined
": {
"type": {
"
name
": "
BarStruct
"
"vec
": {
"
option
": "
u64
"
}
}
複製
已複製
複製
已複製
Text moved with changes to lines 737-741 (92.4% similarity)
}
},
{
"name": "boxField",
"type": "bool"
複製
已複製
複製
已複製
}
}
]
]
複製
已複製
複製
已複製
}
複製
已複製
複製
已複製
},
},
{
{
"name": "
SomeZcAccount",
"name": "
OptionStruct
",
"type": {
"kind": "struct
",
"fields": [
"fields": [
{
{
"
name
":
"field",
"
option
":
{
"
type
": {
"
defined
": {
"
defined
": "
Zc
Struct"
"
name
": "
Bar
Struct"
}
}
}
}
}
]
]
}
}
,
Text moved to lines 427-429
}
],
"types": [
{
{
"name": "
My
Struct",
"name": "
Vec
Struct",
"type": {
"kind": "struct",
"fields": [
"fields": [
{
{
"name": "
someU8",
"vec": {
"type": "u8"
"defined": {
"name": "
BarStruct"
}
}
}
}
]
]
複製
已複製
複製
已複製
Text moved with changes to lines 763-766 (67.8% similarity)
}
},
{
"name": "BarStruct",
"docs": [
"Bar struct type"
Text moved to lines 662-664
],
"type": {
"kind": "struct",
"fields": [
{
"name": "someField",
"docs": [
"Some field"
],
"type": "bool"
},
},
{
{
複製
已複製
複製
已複製
"name": "
other
Field
",
"name": "
No
Field
s
"
"type": "u8
"
}
}
]
]
}
}
},
},
{
{
"name": "FooStruct",
"name": "FooStruct",
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
"name": "field1",
"name": "field1",
"type": "u8"
"type": "u8"
},
},
{
{
"name": "field2",
"name": "field2",
"type": "u16"
"type": "u16"
},
},
{
{
"name": "nested",
"name": "nested",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "BarStruct"
"defined"
: {
"name"
: "BarStruct"
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "vec
N
ested",
"name": "vec
_n
ested",
"type": {
"type": {
"vec": {
"vec": {
複製
已複製
複製
已複製
"defined"
: "BarStruct"
"defined"
: {
"name"
: "BarStruct"
}
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "option
N
ested",
"name": "option
_n
ested",
"type": {
"type": {
"option": {
"option": {
複製
已複製
複製
已複製
"defined"
: "BarStruct"
"defined"
: {
"name"
: "BarStruct"
}
}
}
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "enum
F
ield",
"name": "enum
_f
ield",
"type": {
"type": {
複製
已複製
複製
已複製
"defined"
: "FooEnum"
"defined"
: {
"name"
: "FooEnum"
}
}
}
}
}
]
]
}
}
},
},
{
{
複製
已複製
複製
已複製
"name": "
ZcStruct
",
"name": "
SomeEvent
",
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
複製
已複製
複製
已複製
"name": "
someField
",
"name": "
bool_field
",
"type": "
u16"
"type": "
bool"
},
{
"name": "external_my_struct",
"type": {
"defined": {
"name": "external::MyStruct"
}
}
},
{
"name": "other_module_my_struct",
"type": {
"defined": {
"name": "idl::some_other_module::MyStruct"
}
}
}
}
]
]
}
}
},
},
{
{
"name": "SomeRetStruct",
"name": "SomeRetStruct",
"type": {
"type": {
"kind": "struct",
"kind": "struct",
"fields": [
"fields": [
{
{
複製
已複製
複製
已複製
"name": "some
F
ield",
"name": "some
_f
ield",
"type": "u8"
"type": "u8"
}
}
]
]
}
}
},
},
{
{
複製
已複製
複製
已複製
Text moved to lines 453-456
"name": "
FooEnum
",
"name": "
SomeZcAccount
",
"
docs
":
[
"
serialization": "bytemuck",
"
Enum type
"
"repr
":
{
]
,
"
kind": "c
"
}
,
"type": {
"type": {
複製
已複製
複製
已複製
Text moved to lines 458-461
"kind": "
enum",
"kind": "
struct
",
"variants": [
{
"name": "Unnamed
",
"fields": [
"fields": [
複製
已複製
複製
已複製
"bool",
"u8",
複製
已複製
複製
已複製
{
{
"defined":
"BarStruct
"
"name": "field",
"type": {
"defined":
{
"name": "ZcStruct
"
}
}
複製
已複製
複製
已複製
Text moved with changes to lines 382-385 (66.7% similarity)
]
}
},
{
"name": "UnnamedSingle",
"fields": [
{
"defined": "BarStruct"
}
}
]
]
複製
已複製
複製
已複製
}
複製
已複製
複製
已複製
},
},
{
{
"name": "
Named",
"name": "
State",
"docs": [
"An account containing various fields"
Text moved from lines 544-546
],
"type": {
"kind": "struct",
"fields": [
"fields": [
{
{
"name": "bool
F
ield",
"name": "bool
_f
ield",
"docs": [
"docs": [
"A bool
field
inside a struct tuple kind
"
"A bool
ean
field
"
],
],
"type": "bool"
"type": "bool"
},
},
{
{
"name": "u8
F
ield",
"name": "u8
_f
ield",
"type": "u8"
"type": "u8"
},
},
{
{
Text moved with changes from lines 367-423 (98.6% similarity)
"name":
"nested",
"name":
"i8_field",
"type": "i8"
},
{
"name": "u16_field",
"type": "u16"
},
{
"name": "i16_field",
"type": "i16"
},
{
"name": "u32_field",
"type": "u32"
},
{
"name": "i32_field",
"type": "i32"
},
{
"name": "f32_field",
"type": "f32"
},
{
"name": "u64_field",
"type": "u64"
},
{
"name": "i64_field",
"type": "i64"
},
{
"name": "f64_field",
"type": "f64"
},
{
"name": "u128_field",
"type": "u128"
},
{
"name": "i128_field",
"type": "i128"
},
{
"name": "bytes_field",
"type": "bytes"
},
{
"name": "string_field",
"type": "string"
},
{
"name": "pubkey_field",
"type": "pubkey"
},
{
"name": "vec_field",
"type": {
"type": {
"defined":
"BarStruct
"
"vec": "u64"
Text moved with changes from lines 503-507 (92.4% similarity)
}
},
{
"name": "vec_struct_field",
"type": {
"vec": {
"defined":
{
"name": "FooStruct
"
}
}
}
}
複製
已複製
複製
已複製
]
}
},
},
{
{
複製
已複製
複製
已複製
Text moved with changes from lines 437-441 (99.1% similarity)
"name": "
Struct
",
"name": "
option_field
",
"
fields
":
[
"
type
":
{
"option": "bool"
}
},
{
{
"defined": "BarStruct"
"name": "option_struct_field",
"type": {
"option": {
"defined": {
"name": "FooStruct"
}
}
Text moved with changes from lines 538-541 (67.8% similarity)
}
},
{
"name": "struct_field",
"type": {
"defined": {
"name": "FooStruct"
}
}
複製
已複製
複製
已複製
Text moved with changes from lines 454-461 (99.4% similarity)
}
},
{
"name": "array_field",
"type": {
"array": [
"bool",
3
複製
已複製
複製
已複製
]
]
複製
已複製
複製
已複製
}
},
},
{
{
複製
已複製
複製
已複製
"name": "
OptionStruct
",
"name": "
enum_field_1
",
"
fields
":
[
"
type": {
"defined
":
{
"name": "FooEnum"
}
}
},
{
{
"option": {
"name": "enum_field_2",
"defined": "BarStruct"
"type": {
"defined": {
"name": "FooEnum"
}
}
},
{
"name": "enum_field_3",
"type": {
"defined": {
"name": "FooEnum"
}
}
},
{
"name": "enum_field_4",
"type": {
"defined": {
"name": "FooEnum"
}
}
}
}
}
]
]
複製
已複製
複製
已複製
}
複製
已複製
複製
已複製
},
},
{
{
Text moved from lines 493-495
"name": "
VecStruct
",
"name": "
State2",
"type": {
"kind": "struct
",
"fields": [
"fields": [
{
{
複製
已複製
複製
已複製
"name": "vec_of_option",
"type": {
複製
已複製
複製
已複製
"vec": {
"vec": {
"
defined
": "
BarStruct
"
"
option
": "
u64
"
}
}
}
}
複製
已複製
複製
已複製
]
},
},
{
{
複製
已複製
複製
已複製
"name": "
NoFields
"
"name": "
box_field",
"type": "bool
"
}
}
]
]
}
}
複製
已複製
複製
已複製
Text moved to lines 396-398
}
}
,
],
"events": [
{
{
複製
已複製
複製
已複製
"name": "
SomeEvent",
"name": "
ZcStruct",
"serialization": "bytemuck",
"repr": {
"kind": "c"
},
"type": {
"kind": "struct",
"fields": [
"fields": [
{
{
"name": "
boolField
",
"name": "
some_field
",
"type": "
bool",
"type": "
u16"
"index": false
}
]
}
},
},
{
{
"name": "external
MyStruct",
"name": "external
::
MyStruct",
"type": {
"type": {
"
defined
": "
external::MyStruct
"
"kind": "struct",
}
,
"fields": [
"index": false
{
"
name
": "
some_field",
"type": "u8
"
}
]
}
},
},
{
{
"name": "
other
M
odule
MyStruct",
"name": "
idl::some_
other
_m
odule
::
MyStruct",
"type": {
"type": {
"defined": "some_other_module::MyStruct"
"kind": "struct",
},
"fields": [
"index": false
{
"name": "some_u8",
"type": "u8"
}
}
]
]
複製
已複製
複製
已複製
}
}
}
],
],
複製
已複製
複製
已複製
"
errors
": [
"
constants
": [
{
{
複製
已複製
複製
已複製
Text moved to lines 415-417
Text moved from lines 24-26
"code": 6000,
"name": "
BYTES_STR
",
"name": "
SomeError
",
"
type
": "
bytes",
"
msg
": "
Example error.
"
"value": "[116, 101, 115, 116]
"
},
},
{
{
複製
已複製
複製
已複製
Text moved to lines 420-422
Text moved from lines 19-21
"code": 6001,
"name": "
BYTE_STR
",
"name": "
OtherError
",
"
type
": "
u8",
"
msg
": "
Another error.
"
"value": "116
"
},
},
{
{
複製
已複製
複製
已複製
"code": 6002,
"name": "
I128",
"name": "
ErrorWithoutMsg"
"type": "i128",
"value": "1000000"
},
Text moved from lines 8-11
{
"name": "U8",
"type": "u8",
"value": "6"
}
}
]
]
}
}
已保存差異
原始文本
開啟檔案
{ "version": "0.1.0", "name": "idl", "docs": [ "IDL test program documentation." ], "constants": [ { "name": "U8", "type": "u8", "value": "6" }, { "name": "I128", "type": "i128", "value": "1_000_000" }, { "name": "BYTE_STR", "type": "u8", "value": "116" }, { "name": "BYTES_STR", "type": "bytes", "value": "[116, 101, 115, 116]" } ], "instructions": [ { "name": "initialize", "accounts": [ { "name": "state", "isMut": true, "isSigner": true, "docs": [ "State account" ] }, { "name": "nested", "accounts": [ { "name": "clock", "isMut": false, "isSigner": false, "docs": [ "Sysvar clock" ] }, { "name": "rent", "isMut": false, "isSigner": false } ] }, { "name": "zcAccount", "isMut": false, "isSigner": false }, { "name": "tokenAccount", "isMut": false, "isSigner": false }, { "name": "mintAccount", "isMut": false, "isSigner": false }, { "name": "tokenInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "mintInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "initializeWithValues", "docs": [ "Initializes an account with specified values" ], "accounts": [ { "name": "state", "isMut": true, "isSigner": true, "docs": [ "State account" ] }, { "name": "nested", "accounts": [ { "name": "clock", "isMut": false, "isSigner": false, "docs": [ "Sysvar clock" ] }, { "name": "rent", "isMut": false, "isSigner": false } ] }, { "name": "zcAccount", "isMut": false, "isSigner": false }, { "name": "tokenAccount", "isMut": false, "isSigner": false }, { "name": "mintAccount", "isMut": false, "isSigner": false }, { "name": "tokenInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "mintInterfaceAccount", "isMut": false, "isSigner": false }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "boolField", "type": "bool" }, { "name": "u8Field", "type": "u8" }, { "name": "i8Field", "type": "i8" }, { "name": "u16Field", "type": "u16" }, { "name": "i16Field", "type": "i16" }, { "name": "u32Field", "type": "u32" }, { "name": "i32Field", "type": "i32" }, { "name": "f32Field", "type": "f32" }, { "name": "u64Field", "type": "u64" }, { "name": "i64Field", "type": "i64" }, { "name": "f64Field", "type": "f64" }, { "name": "u128Field", "type": "u128" }, { "name": "i128Field", "type": "i128" }, { "name": "bytesField", "type": "bytes" }, { "name": "stringField", "type": "string" }, { "name": "pubkeyField", "type": "publicKey" }, { "name": "vecField", "type": { "vec": "u64" } }, { "name": "vecStructField", "type": { "vec": { "defined": "FooStruct" } } }, { "name": "optionField", "type": { "option": "bool" } }, { "name": "optionStructField", "type": { "option": { "defined": "FooStruct" } } }, { "name": "structField", "type": { "defined": "FooStruct" } }, { "name": "arrayField", "type": { "array": [ "bool", 3 ] } }, { "name": "enumField1", "type": { "defined": "FooEnum" } }, { "name": "enumField2", "type": { "defined": "FooEnum" } }, { "name": "enumField3", "type": { "defined": "FooEnum" } }, { "name": "enumField4", "type": { "defined": "FooEnum" } } ] }, { "name": "initializeWithValues2", "docs": [ "a separate instruction due to initialize_with_values having too many arguments", "https://github.com/solana-labs/solana/issues/23978" ], "accounts": [ { "name": "state", "isMut": true, "isSigner": true }, { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "vecOfOption", "type": { "vec": { "option": "u64" } } }, { "name": "boxField", "type": "bool" } ], "returns": { "defined": "SomeRetStruct" } }, { "name": "causeError", "accounts": [], "args": [] } ], "accounts": [ { "name": "State", "docs": [ "An account containing various fields" ], "type": { "kind": "struct", "fields": [ { "name": "boolField", "docs": [ "A boolean field" ], "type": "bool" }, { "name": "u8Field", "type": "u8" }, { "name": "i8Field", "type": "i8" }, { "name": "u16Field", "type": "u16" }, { "name": "i16Field", "type": "i16" }, { "name": "u32Field", "type": "u32" }, { "name": "i32Field", "type": "i32" }, { "name": "f32Field", "type": "f32" }, { "name": "u64Field", "type": "u64" }, { "name": "i64Field", "type": "i64" }, { "name": "f64Field", "type": "f64" }, { "name": "u128Field", "type": "u128" }, { "name": "i128Field", "type": "i128" }, { "name": "bytesField", "type": "bytes" }, { "name": "stringField", "type": "string" }, { "name": "pubkeyField", "type": "publicKey" }, { "name": "vecField", "type": { "vec": "u64" } }, { "name": "vecStructField", "type": { "vec": { "defined": "FooStruct" } } }, { "name": "optionField", "type": { "option": "bool" } }, { "name": "optionStructField", "type": { "option": { "defined": "FooStruct" } } }, { "name": "structField", "type": { "defined": "FooStruct" } }, { "name": "arrayField", "type": { "array": [ "bool", 3 ] } }, { "name": "enumField1", "type": { "defined": "FooEnum" } }, { "name": "enumField2", "type": { "defined": "FooEnum" } }, { "name": "enumField3", "type": { "defined": "FooEnum" } }, { "name": "enumField4", "type": { "defined": "FooEnum" } } ] } }, { "name": "State2", "type": { "kind": "struct", "fields": [ { "name": "vecOfOption", "type": { "vec": { "option": "u64" } } }, { "name": "boxField", "type": "bool" } ] } }, { "name": "SomeZcAccount", "type": { "kind": "struct", "fields": [ { "name": "field", "type": { "defined": "ZcStruct" } } ] } } ], "types": [ { "name": "MyStruct", "type": { "kind": "struct", "fields": [ { "name": "someU8", "type": "u8" } ] } }, { "name": "BarStruct", "docs": [ "Bar struct type" ], "type": { "kind": "struct", "fields": [ { "name": "someField", "docs": [ "Some field" ], "type": "bool" }, { "name": "otherField", "type": "u8" } ] } }, { "name": "FooStruct", "type": { "kind": "struct", "fields": [ { "name": "field1", "type": "u8" }, { "name": "field2", "type": "u16" }, { "name": "nested", "type": { "defined": "BarStruct" } }, { "name": "vecNested", "type": { "vec": { "defined": "BarStruct" } } }, { "name": "optionNested", "type": { "option": { "defined": "BarStruct" } } }, { "name": "enumField", "type": { "defined": "FooEnum" } } ] } }, { "name": "ZcStruct", "type": { "kind": "struct", "fields": [ { "name": "someField", "type": "u16" } ] } }, { "name": "SomeRetStruct", "type": { "kind": "struct", "fields": [ { "name": "someField", "type": "u8" } ] } }, { "name": "FooEnum", "docs": [ "Enum type" ], "type": { "kind": "enum", "variants": [ { "name": "Unnamed", "fields": [ "bool", "u8", { "defined": "BarStruct" } ] }, { "name": "UnnamedSingle", "fields": [ { "defined": "BarStruct" } ] }, { "name": "Named", "fields": [ { "name": "boolField", "docs": [ "A bool field inside a struct tuple kind" ], "type": "bool" }, { "name": "u8Field", "type": "u8" }, { "name": "nested", "type": { "defined": "BarStruct" } } ] }, { "name": "Struct", "fields": [ { "defined": "BarStruct" } ] }, { "name": "OptionStruct", "fields": [ { "option": { "defined": "BarStruct" } } ] }, { "name": "VecStruct", "fields": [ { "vec": { "defined": "BarStruct" } } ] }, { "name": "NoFields" } ] } } ], "events": [ { "name": "SomeEvent", "fields": [ { "name": "boolField", "type": "bool", "index": false }, { "name": "externalMyStruct", "type": { "defined": "external::MyStruct" }, "index": false }, { "name": "otherModuleMyStruct", "type": { "defined": "some_other_module::MyStruct" }, "index": false } ] } ], "errors": [ { "code": 6000, "name": "SomeError", "msg": "Example error." }, { "code": 6001, "name": "OtherError", "msg": "Another error." }, { "code": 6002, "name": "ErrorWithoutMsg" } ] }
更改後文本
開啟檔案
{ "address": "id11111111111111111111111111111111111111111", "metadata": { "name": "idl", "version": "0.1.0", "description": "Created with Anchor" }, "docs": [ "IDL test program documentation." ], "instructions": [ { "name": "cause_error", "discriminator": [ 67, 104, 37, 17, 2, 155, 68, 17 ], "accounts": [], "args": [] }, { "name": "initialize", "discriminator": [ 175, 175, 109, 31, 13, 152, 155, 237 ], "accounts": [ { "name": "state", "docs": [ "State account" ], "writable": true, "signer": true }, { "name": "nested", "accounts": [ { "name": "clock", "docs": [ "Sysvar clock" ], "address": "SysvarC1ock11111111111111111111111111111111" }, { "name": "rent", "address": "SysvarRent111111111111111111111111111111111" } ] }, { "name": "zc_account" }, { "name": "token_account" }, { "name": "mint_account" }, { "name": "token_interface_account" }, { "name": "mint_interface_account" }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [] }, { "name": "initialize_with_values", "docs": [ "Initializes an account with specified values" ], "discriminator": [ 220, 73, 8, 213, 178, 69, 181, 141 ], "accounts": [ { "name": "state", "docs": [ "State account" ], "writable": true, "signer": true }, { "name": "nested", "accounts": [ { "name": "clock", "docs": [ "Sysvar clock" ], "address": "SysvarC1ock11111111111111111111111111111111" }, { "name": "rent", "address": "SysvarRent111111111111111111111111111111111" } ] }, { "name": "zc_account" }, { "name": "token_account" }, { "name": "mint_account" }, { "name": "token_interface_account" }, { "name": "mint_interface_account" }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "bool_field", "type": "bool" }, { "name": "u8_field", "type": "u8" }, { "name": "i8_field", "type": "i8" }, { "name": "u16_field", "type": "u16" }, { "name": "i16_field", "type": "i16" }, { "name": "u32_field", "type": "u32" }, { "name": "i32_field", "type": "i32" }, { "name": "f32_field", "type": "f32" }, { "name": "u64_field", "type": "u64" }, { "name": "i64_field", "type": "i64" }, { "name": "f64_field", "type": "f64" }, { "name": "u128_field", "type": "u128" }, { "name": "i128_field", "type": "i128" }, { "name": "bytes_field", "type": "bytes" }, { "name": "string_field", "type": "string" }, { "name": "pubkey_field", "type": "pubkey" }, { "name": "vec_field", "type": { "vec": "u64" } }, { "name": "vec_struct_field", "type": { "vec": { "defined": { "name": "FooStruct" } } } }, { "name": "option_field", "type": { "option": "bool" } }, { "name": "option_struct_field", "type": { "option": { "defined": { "name": "FooStruct" } } } }, { "name": "struct_field", "type": { "defined": { "name": "FooStruct" } } }, { "name": "array_field", "type": { "array": [ "bool", 3 ] } }, { "name": "enum_field_1", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_2", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_3", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_4", "type": { "defined": { "name": "FooEnum" } } } ] }, { "name": "initialize_with_values2", "docs": [ "a separate instruction due to initialize_with_values having too many arguments", "https://github.com/solana-labs/solana/issues/23978" ], "discriminator": [ 248, 190, 21, 97, 239, 148, 39, 181 ], "accounts": [ { "name": "state", "writable": true, "signer": true }, { "name": "payer", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "vec_of_option", "type": { "vec": { "option": "u64" } } }, { "name": "box_field", "type": "bool" } ], "returns": { "defined": { "name": "SomeRetStruct" } } } ], "accounts": [ { "name": "SomeZcAccount", "discriminator": [ 56, 72, 82, 194, 210, 35, 17, 191 ] }, { "name": "State", "discriminator": [ 216, 146, 107, 94, 104, 75, 182, 177 ] }, { "name": "State2", "discriminator": [ 106, 97, 255, 161, 250, 205, 185, 192 ] } ], "events": [ { "name": "SomeEvent", "discriminator": [ 39, 221, 150, 148, 91, 206, 29, 93 ] } ], "errors": [ { "code": 6000, "name": "SomeError", "msg": "Example error." }, { "code": 6001, "name": "OtherError", "msg": "Another error." }, { "code": 6002, "name": "ErrorWithoutMsg" } ], "types": [ { "name": "BarStruct", "docs": [ "Bar struct type" ], "type": { "kind": "struct", "fields": [ { "name": "some_field", "docs": [ "Some field" ], "type": "bool" }, { "name": "other_field", "type": "u8" } ] } }, { "name": "FooEnum", "docs": [ "Enum type" ], "type": { "kind": "enum", "variants": [ { "name": "Unnamed", "fields": [ "bool", "u8", { "defined": { "name": "BarStruct" } } ] }, { "name": "UnnamedSingle", "fields": [ { "defined": { "name": "BarStruct" } } ] }, { "name": "Named", "fields": [ { "name": "bool_field", "docs": [ "A bool field inside a struct tuple kind" ], "type": "bool" }, { "name": "u8_field", "type": "u8" }, { "name": "nested", "type": { "defined": { "name": "BarStruct" } } } ] }, { "name": "Struct", "fields": [ { "defined": { "name": "BarStruct" } } ] }, { "name": "OptionStruct", "fields": [ { "option": { "defined": { "name": "BarStruct" } } } ] }, { "name": "VecStruct", "fields": [ { "vec": { "defined": { "name": "BarStruct" } } } ] }, { "name": "NoFields" } ] } }, { "name": "FooStruct", "type": { "kind": "struct", "fields": [ { "name": "field1", "type": "u8" }, { "name": "field2", "type": "u16" }, { "name": "nested", "type": { "defined": { "name": "BarStruct" } } }, { "name": "vec_nested", "type": { "vec": { "defined": { "name": "BarStruct" } } } }, { "name": "option_nested", "type": { "option": { "defined": { "name": "BarStruct" } } } }, { "name": "enum_field", "type": { "defined": { "name": "FooEnum" } } } ] } }, { "name": "SomeEvent", "type": { "kind": "struct", "fields": [ { "name": "bool_field", "type": "bool" }, { "name": "external_my_struct", "type": { "defined": { "name": "external::MyStruct" } } }, { "name": "other_module_my_struct", "type": { "defined": { "name": "idl::some_other_module::MyStruct" } } } ] } }, { "name": "SomeRetStruct", "type": { "kind": "struct", "fields": [ { "name": "some_field", "type": "u8" } ] } }, { "name": "SomeZcAccount", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "field", "type": { "defined": { "name": "ZcStruct" } } } ] } }, { "name": "State", "docs": [ "An account containing various fields" ], "type": { "kind": "struct", "fields": [ { "name": "bool_field", "docs": [ "A boolean field" ], "type": "bool" }, { "name": "u8_field", "type": "u8" }, { "name": "i8_field", "type": "i8" }, { "name": "u16_field", "type": "u16" }, { "name": "i16_field", "type": "i16" }, { "name": "u32_field", "type": "u32" }, { "name": "i32_field", "type": "i32" }, { "name": "f32_field", "type": "f32" }, { "name": "u64_field", "type": "u64" }, { "name": "i64_field", "type": "i64" }, { "name": "f64_field", "type": "f64" }, { "name": "u128_field", "type": "u128" }, { "name": "i128_field", "type": "i128" }, { "name": "bytes_field", "type": "bytes" }, { "name": "string_field", "type": "string" }, { "name": "pubkey_field", "type": "pubkey" }, { "name": "vec_field", "type": { "vec": "u64" } }, { "name": "vec_struct_field", "type": { "vec": { "defined": { "name": "FooStruct" } } } }, { "name": "option_field", "type": { "option": "bool" } }, { "name": "option_struct_field", "type": { "option": { "defined": { "name": "FooStruct" } } } }, { "name": "struct_field", "type": { "defined": { "name": "FooStruct" } } }, { "name": "array_field", "type": { "array": [ "bool", 3 ] } }, { "name": "enum_field_1", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_2", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_3", "type": { "defined": { "name": "FooEnum" } } }, { "name": "enum_field_4", "type": { "defined": { "name": "FooEnum" } } } ] } }, { "name": "State2", "type": { "kind": "struct", "fields": [ { "name": "vec_of_option", "type": { "vec": { "option": "u64" } } }, { "name": "box_field", "type": "bool" } ] } }, { "name": "ZcStruct", "serialization": "bytemuck", "repr": { "kind": "c" }, "type": { "kind": "struct", "fields": [ { "name": "some_field", "type": "u16" } ] } }, { "name": "external::MyStruct", "type": { "kind": "struct", "fields": [ { "name": "some_field", "type": "u8" } ] } }, { "name": "idl::some_other_module::MyStruct", "type": { "kind": "struct", "fields": [ { "name": "some_u8", "type": "u8" } ] } } ], "constants": [ { "name": "BYTES_STR", "type": "bytes", "value": "[116, 101, 115, 116]" }, { "name": "BYTE_STR", "type": "u8", "value": "116" }, { "name": "I128", "type": "i128", "value": "1000000" }, { "name": "U8", "type": "u8", "value": "6" } ] }
尋找差異